可能我错过了一些东西,但我可以说我有这个:
$('a.delete').click(function(){
resp=window.confirm("Are you sure you want to delete this?");
if(resp)
return true;
else
return false;
}
现在,我想将该回调函数保存到单独的js文件中,因为我将在几个页面中使用它。我的逻辑告诉我这样做:
$('a.del').click(delete_element());
拥有我的js文件:
function delete_element(){
resp=window.confirm("Are you sure you want to delete this?");
if(resp)
return true;
else
return false;
}
这不起作用。每次加载页面时,即使我没有点击链接,它也会显示确认窗口。
很明显,这次我的逻辑失败了。我错过了什么?
答案 0 :(得分:2)
$( 'a.del')上单击(delete_element());
这是调用函数delete_element()并希望返回一个函数。
$('a.del').click(delete_element);
那(注意missing())会将click处理程序设置为delete_element。
答案 1 :(得分:1)
试;
$('a.delete').click(function(){
delete_element()
}
修改强>
我要将对元素的引用传递给delete_element函数并将其从那里删除,因为函数名称为delete_element而不是ask_to_delete_element。
答案 2 :(得分:0)
怎么样
function deleteElement() {
return window.confirm("Are you sure you want to delete this?");
}
$('a.delete').click(deleteElement);
或者,如果这是您网页的标准行为:
$('a.delete').live('click', function() {
return window.confirm("Are you sure you want to delete this?");
});