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并确定了这个附加到该对象的监听器:
有任何帮助吗?现在的问题是:如何从javascript中激活与此图像关联的方法?谢谢你们。
答案 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
可能硬编码要绑定的元素。