我在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。