基于这个问题
我不想乱丢我准备好的东西等待"点击事件"和"改变事件"和"鼠标悬停事件"我希望在单个功能或事件中拥有所有这些东西.
是否有可能将事件联系在一起.我不仅要捕获一个键盘,还要捕获用户不在键盘上的点击或更改.
<script language="javascript" type="text/javascript">
$(document).ready( function () {
setMaxLength();
$("textarea.checkMax").keyup(function(){ checkMaxLength(this.id); } );
$("textarea.checkMax").mouseover(function(){ checkMaxLength(this.id); } );
});
</script>
Run Code Online (Sandbox Code Playgroud)
这有效
$(document).ready( function () {
setMaxLength();
$("textarea.checkMax").bind("click mouseover keyup change", function(){checkMaxLength(this.id); } )
});
Run Code Online (Sandbox Code Playgroud)
Ode*_*ode 19
我想你正在寻找绑定.绑定可以使用单个调用而不是使用链将多个事件连接到同一个函数:
$("textarea.checkMax").bind("keyup mouseover", checkMaxLength);
Run Code Online (Sandbox Code Playgroud)
任何返回jQuery对象的东西都可以用来链接.通常,一切都返回jQuery对象,因此如果API没有明确说明它没有,那么特定方法可能会返回jQuery对象并且可以链接.
在事件的情况下,是的,它们确实返回jQuery对象,因此可以链接.看这里
在您的情况下,您可以创建一个外部函数,它接受一个参数,即事件发生的对象,然后检查它的长度,或者您想要做的任何其他事情.然后,你只需要打电话mouseUp(myFunction).mouseOut(myFunction).keyPress(myFunction)
或其他任何你想要连在一起的东西.
这是一个更明确的例子:
<script language="javascript" type="text/javascript">
$(document).ready( function () {
setMaxLength();
$("textarea.checkMax").keyup(checkMaxLength()).
mouseover(checkMaxLength(this.id));
});
</script>
Run Code Online (Sandbox Code Playgroud)