将jQuery回调函数保存在单独的文件中

时间:2010-06-08 02:55:52

标签: javascript jquery file callback

可能我错过了一些东西,但我可以说我有这个:

$('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;
}

这不起作用。每次加载页面时,即使我没有点击链接,它也会显示确认窗口。

很明显,这次我的逻辑失败了。我错过了什么?

3 个答案:

答案 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?");
});