使用jQuery时,我希望在.change()
或.keyup()
出现时运行函数。
就像这样。
if ( jQuery(':input').change() || jQuery(':input').keyup() )
{
alert( 'something happened!' );
}
- 编辑**
很抱歉我忘了提到。.change()
和.keyup()
都需要一些变量在作用域内。
使用jQuery时,我希望在.change()
或.keyup()
出现时运行函数。
就像这样。
if ( jQuery(':input').change() || jQuery(':input').keyup() )
{
alert( 'something happened!' );
}
很抱歉我忘了提到。.change()
和.keyup()
都需要一些变量在作用域内。
8条答案
按热度按时间blmhpbnm1#
您可以绑定到多个事件,方法是用空格分隔它们:
文件here .
tquggr8v2#
如果您曾经通过AJAX动态生成页面内容或加载内容,下面的示例确实是您应该采用的方法:
1.它可以防止在多次加载脚本(如AJAX请求)的情况下发生双重绑定。
1.绑定存在于文档的
body
上,因此无论添加、移动、删除和重新添加什么元素,与指定的选择器匹配的body
的所有后代都将保留正确的绑定。守则:
请注意!我使用
$.on()
和$.off()
而不是其他方法,原因如下:$.live()
和$.die()
已被弃用,并已从较新版本的jQuery中省略。1.我要么需要定义一个单独的函数(因此会使全局作用域变得混乱),并将该函数分别传递给
$.change()
和$.keyup()
,要么将相同的函数声明传递给每个被调用的函数;重复逻辑...这是绝对不能接受的。1.如果元素被添加到DOM中,
$.bind()
不会在创建元素时动态绑定到这些元素,因此,如果绑定到:input
,然后向DOM添加输入,该绑定方法没有附加到新的输入,然后您需要显式地取消绑定,然后重新绑定到DOM中的所有元素(否则,绑定将被复制)。每次向DOM添加输入时,都需要重复此过程。w8biq8rn3#
做这个。
o4tp2gmn4#
您可以订阅更改和键启动事件:
其中
myFunction
是您要执行的函数:jckbn6z75#
这不是事件的工作方式,相反,你给予它们一个函数,当它们发生时,你就可以调用它。
jckbn6z76#
编写一个函数并为它们两个调用它。
change()和keyup()事件注册函数返回原始集合,因此可以将它们链接起来。
oprakyz77#
keyup事件输入jquery
For Demo
wn9m85ua8#
下面是我如何使用Jquery解决这个问题的