关闭无法正常工作

时间:2017-09-02 16:34:10

标签: javascript jquery jquery-events

我正在尝试在表单提交前显示确认对话框:

form.off('submit').submit()

成功后,我执行以下操作:$('body').on('submit', 'form[data-confirm-dialog-text]',但继续获取确认对话框,这意味着表单不是入站。

如果我将$('form[data-confirm-dialog-text]').on('submit',更改为public function actionDownload($id) { header("Content-type:application/pdf"); ........ ,一切正常。有什么区别,我做错了什么?

2 个答案:

答案 0 :(得分:1)

来自jQuery的.off()文档:

  

.off()方法删除了附加.on()的事件处理程序。不带参数调用.off()会删除附加到元素的所有处理程序。通过提供事件名称,命名空间,选择器或处理函数名称的组合,可以在元素上删除特定事件处理程序。 当给出多个过滤参数时,提供的所有参数必须匹配要删除的事件处理程序

这意味着您应该使用.off().on相同的参数。所以,试着改变:

form.off('submit').submit();

要:

$('body').off('submit', 'form[data-confirm-dialog-text]');
form.submit();

答案 1 :(得分:1)

事件绑定到 body ,您应该使用从 body 中删除事件。所以改变,




  form.off('submit')。submit()
  

& #xA;




  $('body')。off('submit','form [data-confirm-dialog-text]' );
 form.submit();