Jquery事件链接

基于这个问题

我不想丢弃我准备好的东西等待“点击事件”和“更改事件”和“鼠标hover事件”我希望在单个function或事件中拥有所有这些东西。

有可能将事件链接在一起。 我不仅要捕获一个键盘,还要捕获用户不在键盘上的点击或更改。

 $(document).ready( function () { setMaxLength(); $("textarea.checkMax").keyup(function(){ checkMaxLength(this.id); } ); $("textarea.checkMax").mouseover(function(){ checkMaxLength(this.id); } ); });  

这很有效

 $(document).ready( function () { setMaxLength(); $("textarea.checkMax").bind("click mouseover keyup change", function(){checkMaxLength(this.id); } ) }); 

我想你正在寻找绑定。 绑定可以使用单个调用而不是使用链将多个事件连接到同一个函数:

 $("textarea.checkMax").bind("keyup mouseover", checkMaxLength); 

任何返回jQuery对象的东西都可以用来链接。 通常,一切都返回jQuery对象,因此如果API没有明确说明它没有,那么特定方法可能会返回jQuery对象并且可以链接。

在事件的情况下,是的,它们确实返回jQuery对象,因此可以链接。 看这里

在您的情况下,您可以创建一个外部函数,它接受一个参数,事件发生的对象,然后检查它的长度,或者您想要做的任何其他事情。 然后,你只需要调用mouseUp(myFunction).mouseOut(myFunction).keyPress(myFunction)或者你想要链接在一起的任何其他内容。

这是一个更明确的例子: