从自定义事件返回 false 在新 jquery 版本中产生错误

Returning false from custom events produces error in new jquery version

每当从自定义事件处理程序返回 false 时,我在新 jquery 版本中收到错误 "e.preventDefault is not a function"

示例: 我在 Jquery 中创建的对话框小部件具有 "beforeopen" 自定义事件。用户可以通过从事件处理程序返回 false 来阻止打开对话框。

* Binding the custom event *
$("dialogElement").on("beforeopen",function(){
      return false;
});

* Triggering *

 var returnValue = $("dialogElement").trigger($.Event("beforeopen"));
 if(returnValue){

    ... open the dialog ....

 }    

这以前对我有用。但是新的 jquery 版本(从 2.2.4 开始)会产生上述错误。请指导我。

return 错误;还阻止了其他 javascript 功能的进展。由于缺少特定事件,命令无法理解需要停止的事件。也许通过使用下面的代码更具体可以帮助你;

$("dialogElement").on("beforeopen",function(event){
      event.preventDefault();
      event.stopPropagation();
});