Javascript - 这个按钮是如何触发的?

时间:2011-09-22 19:25:21

标签: 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>

在这段代码之后,我看到这个var被声明:

<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触发此按钮使用的方法。

任何线索?

=====

在阅读了你们所写的所有内容之后,我使用了Safari的Inspect Element并确定了这个附加到该对象的监听器:

enter image description here

有任何帮助吗?现在的问题是:如何从javascript中激活与此图像关联的方法?谢谢你们。

3 个答案:

答案 0 :(得分:1)

当DOM完全加载到页面上时,它会触发事件侦听器“createList_localizationList”,因此用户无需单击任何内容。你可以在onclick按钮上添加一个事件liseter,而不是在你的按钮加载DOM时。

你可以试试这个:

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

我不确定是否再次使用该类,但是如果你为该元素添加一个id(id ='someidname')以确保你没有将它添加到页面上的另一个元素。

答案 1 :(得分:1)

您正在寻找的是.observe。这会添加一个事件监听器,所以某处可能有

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

事件侦听器是处理javascript事件的首选方式,而不是使用HTML onClick。

答案 2 :(得分:1)

我的猜测是它是两个陈述中的一个

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

它们看起来非常糟糕。列表对象应该采用DOM对象进行操作。 LCAjaxList可能硬编码要绑定的元素。