иммитация клика
имеется кнопка с параметрами
<a onclick="return Index.submit_login('server_ru17');" href="#">
<span class="world_button_inactive">Мир 17</span>
пытался кликнуть так -
var cmdname="script";
var cmdtime=15;
var cmdparam="function addScript(url,callback){var s=document.createElement('script');s.type='text/javascript';document.getElementsByTagName('head')[0].appendChild(s);s.src=url; s.onload=callback;}addScript('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',function(){$('#world_button_inactive').click();});";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
не идет.. может стоит по координатам? |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
ну примерно так)
|
Извините, а почему, собственно, оно у вас вообще должно было кликнуть? Вы просто создали строчку, и всё.
|
в смысле создал строчку? извините, не понял..
|
|
ваш вариант от моего в первом сообщении отличается лишь двойными кавычками.. и так же не работает
|
"Двойные кавычки" в js - это строка! И строка выполняться не будет. Без ухищрений, конечно.
$(document).ready(function(){
$("#world_button_inactive").click()
});
|
возможно я слишком малую часть кода привел..
<div id="active_server" style="overflow:visible; margin-bottom:5px;">
<a href="#" onclick="return Index.submit_login('server_ru17');">
<span class="world_button_inactive">Мир 17</span></a>
<p id="show_all_server" style="margin-top:5px;text-align:center">
<a href="#" onclick="$('#show_all_server').hide();$('#inactive_server_list').show();return false">Показать все миры</a></p>
</div>
<div id="inactive_server_list" style="display:none;overflow:visible;margin-bottom:1px;margin-top:10px;clear:both;">
<a href="#" onclick="return Index.submit_login('server_ru7')">
<span class="world_button_inactive">Мир 7</span></a>
<a href="#" onclick="return Index.submit_login('server_ru8')">
<span class="world_button_inactive">Мир 8</span></a>
<a href="#" onclick="return Index.submit_login('server_ru9')">
<span class="world_button_inactive">Мир 9</span></a>
<a href="#" onclick="return Index.submit_login('server_ru10')">
<span class="world_button_inactive">Мир 10</span></a>
<a href="#" onclick="return Index.submit_login('server_ru11')">
<span class="world_button_inactive">Мир 11</span></a>
<a href="#" onclick="return Index.submit_login('server_ru12')">
<span class="world_button_inactive">Мир 12</span></a>
<a href="#" onclick="return Index.submit_login('server_ru13')">
<span class="world_button_inactive">Мир 13</span></a>
<a href="#" onclick="return Index.submit_login('server_ru15')">
<span class="world_button_inactive">Мир 15</span></a>
<a href="#" onclick="return Index.submit_login('server_ru16')">
<span class="world_button_inactive">Мир 16</span></a>
<a href="#" onclick="return Index.submit_login('server_rus1')">
<span class="world_button_inactive">Speed</span></a>
|
вопрос в том, что клик по другим кнопкам, где я использую аналогичны код - работает.. но там я привязываюсь к id или name кнопки..
а когда их нет, что то попал в тупик.. |
Ну ёлы... Ну это же класс! И тут куча элементов с таким классом. Если вам надо кликнуть по всем - то вот:
$(".world_button_inactive a").click()
|
Если по какой-то определённой - то вот так:
$(".world_button_inactive a:eq(2)").click()
|
Цитата:
|
Судя по вашем сообщениям, вы ну совсем не знаете javascript.
Освойте основы языка и вопрос отпадет сам, полностью или частично. А с чем не справитесь - поможем. На сайте javascript можно начать изучать с учебника, раздел Основы javascript. Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://htmlbook.ru Задавайте конкретные вопросы по ходу дела. |
не спорю..) к счастью(ну или к сожалению) для моих задач знание языка не нужно.. обычно хватает переработки уже имеющегося кода и подгонки..))
|
Одинарные кавычки - та же строка. Вы попробовали те варианты, что я вам скинул?
|
ваш вариант не работает)
|
|
гугль советует думать в эту сторону
click(createElement("a",{"onclick":"return Index.submit_login('server_ru17');","href":"#"},$( "world_selection"))); будем думать..) |
попробовал так -
var cmdname="script"; var cmdtime=8; var cmdparam="function addScript(url,callback){var s=document.createElement('script');s.type='text/javascript';document.getElementsByTagName('head')[0].appendChild(s);s.src=url; s.onload=callback;}addScript('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',function(){$('.world_button_inactiv e a:eq(16)').click();});"; alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam); не пошло(( |
Функция кликает по первому родителю всех элементов с указанным классом. Похоже, это то, что вы хотели. Вставьте между тегами <script></script>.
function clickClassParent(className) {
var victimsArray = document.querySelectorAll("." + className), x;
var victimParent;
for (x = 0; x < victimsArray.length; x++) {
victimParent = victimsArray[x].parentNode;
if (victimParent.onclick && victimParent.onclick instanceof Function) {
victimParent.onclick();
}
}
}
clickClassParent("world_button_inactive");
Вот она же на тестовом стенде. Ваши функции в onclick заменены на alert() для тестирования. Также display внешнего div изменён с none на block. Внимание, запустив тест получите 5 последовательных alert'ов!
<!DOCTYPE html>
<html>
<head></head>
<body>
<div id="inactive_server_list" style="display:block;overflow:visible;margin-bottom:1px;margin-top:10px;clear:both;">
<a href="#" onclick="alert(4)">
<span class="world_button_inactive">Мир 12</span>
</a>
<a href="#" onclick="alert(3)">
<span class="world_button_inactive">Мир 13</span>
</a>
<a href="#" onclick="alert(2)">
<span class="world_button_inactive">Мир 15</span>
</a>
<a href="#" onclick="alert(1)">
<span class="world_button_inactive">Мир 16</span>
</a>
<a href="#" onclick="alert(0)">
<span class="world_button_inactive">Speed</span>
</a>
</div>
<script>
function clickClassParent(className) {
var victimsArray = document.querySelectorAll("." + className), x;
var victimParent;
for (x = 0; x < victimsArray.length; x++) {
victimParent = victimsArray[x].parentNode;
if (victimParent.onclick && victimParent.onclick instanceof Function) {
victimParent.onclick();
}
}
}
clickClassParent("world_button_inactive");
</script>
</body>
</html>
|
спасибо, но решил этот вопрос вот так -
var cmdname="script";
var cmdtime=10;
var cmdparam="function addScript(url,callback){var s=document.createElement('script');s.type='text/javascript';document.getElementsByTagName('head')[0].appendChild(s);s.src=url; s.onload=callback;}addScript('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',function(){ $('.world_button_inactive:parent:first').click();});";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
|
Цитата:
|
Цитата:
ахахах ну вы и быдлокодеры ребят)) не в обиду но код красиво писать не умеете) зачем несколько раз оператор var вызывать??? |
var cmdname="script",
cmdtime=10,
cmdparam="function addScript(url,callback){var s=document.createElement('script');s.type='text/javascript';document.getElementsByTagName('head')[0].appendChild(s);s.src=url; s.onload=callback;}addScript('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',function(){ $('.world_button_inactive:parent:first').click();});";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);
|
Livanderiaamarum, а в чем неправильность? Это две разные переменные. Или следует декларировать все переменные в одну строку?
Поясните, пожалуйста, любителю, чем плохо вызывать var дважды или укажите куда копать, буду благодарен. Обычно, ограничиваю строку несколькими переменными, а затем начинаю новую строку var, чтобы не терять в читабельности, записывая километровые строки. Это неверно? |
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 01:08. |