我在JavaScript函数内部的输入按钮类型中添加了.click函数。
 .Click函数调用另一个JavaScript函数。但是由于某种原因,总是会调用.click函数。即使没有单击元素。
 下面是我的代码。谢谢你的协助。

function loadBook(URL) {
    alert(URL);
};

function LoadAllBooks(URL, attachPoint) {
    var title = "This is some code bad code";
    var classname = title.replace(/\s/g, "");
    var htmlString = '<div class="' + classname + '"><input type="button" value="' + title + '"></div>';
    $(htmlString).appendTo(attachPoint).click(loadBook(URL));
};


attachPoint是HTML中的参考,由下一行获得。

 var attachpoint=document.querySelector('.buttonAttachPoint');

最佳答案

容易犯错。通过在其中包含(URL)参数,您实际上是在立即调用loadBook函数,而不是提供loadBook作为单击处理程序。

您需要做的更像是:

$(htmlString).appendTo(attachPoint).click( function(){ loadBook(URL) } );


创建一个运行loadBook的匿名函数,而不是直接运行loadBook。

10-08 15:51