jQuery .on()而不是没有事件的.delegate()

KoU*_*rch 8 jquery jquery-delegate jquery-on

是否可以使用jquery .on()方法而不是.delegate()没有要监听的事件?

根据.on()文件:

.on(events [,selector] [,data],handler(eventObject))

events参数是不可选的.

使用.on()/ .delegate()是动态添加元素.

Mar*_*iss 8

您可以使用自定义事件:(它仍然是一个事件,但您的事件)

标记:

<div id='mePlease'>
 <div id='noWay'>Hi</div>
</div>

$('#mePlease').on('wacky','#noWay',function(){
   alert('wackyEnough');
});
$('#noWay').trigger('wacky');
Run Code Online (Sandbox Code Playgroud)

但实际上,这可以通过简单的函数调用来完成.


Fau*_*ust 6

这些功能的目的是将功能委托给事件; 所以不,你不能省略这些函数调用中的events参数.

我怀疑你想要的是对页面加载(异步)加载的一些元素"做东西" ,不是吗?也许您还需要页面加载中已存在的元素执行此操作?

在这种情况下,我建议你将声明包装在一个函数中,并在页面加载和异步调用完成后调用该函数.


Chr*_*oph 0

由于.on()s 的目的是将事件处理程序附加到某个元素,因此在没有事件的情况下使用它绝对没有意义。这就是为什么需要事件参数。

来自文档:

描述:将一个或多个事件的事件处理函数附加到所选元素。