Jquery函数在页面加载时执行,而不是在.click()事件上执行

时间:2014-02-02 14:55:01

标签: javascript jquery xml

我从我的javascript文件中获取此代码,这应该在单击标记为“White”的图像时在XML文件中显示搜索结果;问题是该功能是在页面加载时执行的,而不是在单击图像时执行的... 有帮助吗? 图片的HTML代码:

<img src="images/White.png" id="White">

还有javascript代码:

function genericSearch(xml, tipo) {
    $(xml).find("mazzo").each(function() {
        var nome = $(this).find("nome").text();
        var color = $(this).find("colori").text();
        if (color.match(tipo)){
            $("ol#lista").append("<li>"+$(this).find("nome").text()+"   "+color+"</li>");}
     });
}

function specificSearch(){
    var white = document.getElementById("White");
    white.click(function(){
        genericSearch(nodo, "White");
    });
}

最后一条评论,“tipo”只是调用genericSearch函数时传递的参数,而nodo只是先前声明的变量,代码:

var nodo = parseXML("xml/file.xml");

1 个答案:

答案 0 :(得分:0)

如果要在事件点击时调用genericSearch,则需要在就绪事件中设置行为:

$( document ).ready(function() {
   $('#White').click(function(){
        genericSearch(nodo, "White");
    });
});