иммитация клика
имеется кнопка с параметрами
<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, время: 13:23. |