使用 jQuery .trigger 调用返回值的自定义函数

2024-05-07

有没有办法使用 jQuery 的 .bind() 和 .trigger() 调用来执行用户定义的函数(例如:save ())并根据方法的返回进行操作?例如:

$("#aForm").bind ('save', function () {
  return true;
});

进而:

if ($("#aForm").trigger ('save') == true) {
  doSomething ();
}

我知道这个问题很老了,但也许这可以帮助别人。

正如 Paliath 所指出的,您无法返回值,因为触发事件是异步的。 您可以做的是将对象作为参数传递给事件。默认情况下,javascript 对象始终是对原始对象的引用。

eg.:

bind:

$(...).bind('example',function (evt,ret) { 
    ret.val = false;
});

trigger:

var ret = {ret:true};
$(...).trigger('example',[ret]);
if (!ret.ret)
    //event return false
else
    //event returned true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jQuery .trigger 调用返回值的自定义函数 的相关文章

随机推荐