2011-09-22 5 views
0

Javascript - это не моя специальность.Javascript - как эта кнопка срабатывает?

У меня есть страница, содержащая изображение. Это изображение при щелчке вызывает код Ajax, который показывает плавающее поле. Анализируя код страницы, я не вижу, как эта кнопка может запускать код.

Кнопка объявляется следующим образом:

<div class="leaderboard-text"> 
    <span id="addon-add-language-button"> 
    <image class="ajaxListAddButtonEnabled" listId="localizationList" 
      src="/itc/images/blue-add-language-button.png" /> 
    <image class="ajaxListAddButtonDisabled" listId="localizationList" 
      style="display:none;" 
      src="/itc/images/blue-add-language-button-disabled.png" /> 
    </span> 
</div> 

только после этого кода, я вижу этот вар объявляемые:

<script language = "Javascript"> 
    var createList_localizationList = function() { 
     var reorderEnabled = false; 
     var preventLastRowDeletion = false; 
     var searchEnabled = false; 
     var list = new LCAjaxList(); 
     list.initialize(): 
    } 
    document.observe("dom:loaded", createList_localizationList); 
</script> 

Насколько я вижу, изображение стрельба какого-то образом это JavaScript , но как кнопка может сделать это, если нет ссылки «onclick» или href, привязанной к ней? Где строка, указывающая, какой метод должен запускаться при щелчке изображения?

Что я должен посмотреть на код, чтобы понять, как эта кнопка работает?

Мне нужно, чтобы запустить метод, используемый этой кнопкой, используя javascript.

любые подсказки?

================

после прочтения всего, что вы, ребята написали, я использовал Сафари Проверьте элемент и определил этот приемник, прикрепленный к объекту:

enter image description here

это любая помощь? Теперь вопрос: как мне запустить метод, связанный с этим изображением, из javascript? Спасибо, парни.

+0

Сначала найдите классы и идентификаторы, а также его окружающие элементы DOM. –

+0

Вы уверены, что это ' pimvdb

+0

Да, это изображение, а не img. Это было скопировано со страницы. – SpaceDog

ответ

1

Я думаю, что это либо один из двух утверждений

var list = new LCAjaxList(); 
list.initialize(): 

Они кажутся очень плохо разработаны. Объект списка должен принимать объект DOM, чтобы действовать. LCAjaxList, вероятно, жестко закодирует элемент для привязки.

+0

Я обновил вопрос. Пожалуйста, ознакомьтесь с новой информацией. Благодарю. – SpaceDog

+1

Если вы хотите узнать, как код прикрепляет обработчики, как я уже говорил, это, вероятно, в исходном коде для LCAjaxList. Однако, если вы хотите имитировать клик, неправильное решение - найти обработчик события, который прилагается, и называть его самостоятельно. Вы должны просто эмулировать щелчок на img, вызывая 'Element.click()' https://developer.mozilla.org/en/DOM/element.click. Таким образом, вы не можете определить, какие параметры должны пройти обработчик. –

+0

спасибо, вот и все. – SpaceDog

1

Когда DOM полностью загружается на страницу, он запускает прослушиватель событий «createList_localizationList», поэтому пользователю не нужно нажимать ни на что. Вы можете добавить идентификатор события в кнопку onclick, а не когда DOM загружается с помощью кнопки.

Вы можете попробовать это:

$('ajaxListAddButtonEnabled').observe('click', createList_localizationList); 

Я не уверен, что если класс снова используется, но, может быть, если добавить идентификатор этого элемента (ID = «someidname»), чтобы убедиться, что вы не добавив это к другому элементу на странице.

+0

У меня есть вопрос. Пожалуйста, ознакомьтесь с новой информацией. Благодарю. – SpaceDog

1

То, что вы ищете, является .общим. Это добавляет слушатель событий, так что где-то может быть

$('addon-add-language-button').observe('click', SomeFunction) 

Приемники событий являются предпочтительным способом обработки JavaScript события, а не с помощью HTML OnClick.

+0

Хорошее решение jQuery, но вопрос не упоминает или не показывает jQuery как технологию, которую они используют. – frosty

+0

Насколько я проверял сейчас, они, похоже, используют jQuery, но я не вижу ссылок, подобных тому, который сказал Аарон. Существует много таких строк, но не «addon-add-language-button». Вероятно, они нацелены на div, в котором изображение включено ... Я продолжу поиск – SpaceDog

+1

Я считаю, что это прототип – pqsk

Смежные вопросы