jQuery‘输入’事件

jQuery‘输入’事件

我从未听说过jQuery中有一个叫做input直到我看到这个小提琴.

你知道为什么会起作用吗?它是一个别名吗?keyup或者别的什么?

$(document).on('input', 'input:text', function() {});


MM们
浏览 581回答 3
3回答

饮歌长啸

在通过用户界面更改元素的文本内容时发生。它不完全是一个别名keyup因为keyup即使键什么都不做也会触发(例如:按下然后释放Control键将触发keyup活动)。思考这个问题的一个好方法是这样的:它是一个每当输入发生变化就触发的事件。这包括-但不限于-按键来修改输入(例如,Ctrl本身不会触发事件,但是Ctrl-V要粘贴一些文本将),选择一个自动完成选项,linux风格的中点击粘贴,拖放,以及许多其他事情。看见这,这个页和对此答案的评论,以了解更多细节。

守候你守候我

oninput事件对于跟踪输入字段的更改非常有用。然而,IE版本<9不支持它。但是旧的IE版本有自己的专有事件。onpropertychange这和oninput.所以你可以这样使用它:$(':input').on('input&nbsp;propertychange');以获得完全的跨浏览器支持。由于可以对任何属性更改触发属性更改,例如,已禁用的属性将被更改,因此您希望包括以下内容:$(':input').on('propertychange&nbsp;input',&nbsp;function&nbsp;(e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;valueChanged&nbsp;=&nbsp;false; &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(e.type=='propertychange')&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valueChanged&nbsp;=&nbsp;e.originalEvent.propertyName=='value'; &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valueChanged&nbsp;=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(valueChanged)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Code&nbsp;goes&nbsp;here&nbsp;*/ &nbsp;&nbsp;&nbsp;&nbsp;}});

慕容森

使用jQuery,以下内容实际上是相同的:$('a').click(function(){&nbsp;doSomething();&nbsp;});$('a').on('click',&nbsp;function(){&nbsp;doSomething();&nbsp;});带着input事件,但是,在我测试过的浏览器中,似乎只有第二种模式起作用。因此,您可能认为这是可行的,但它不起作用(至少目前是这样):$(':text').input(function(){&nbsp;doSomething();&nbsp;});同样,如果您想利用事件委托(例如,在#container在你input.text(添加到DOM中),应该想到这一点:$('#container').on('input',&nbsp;':text',&nbsp;function(){&nbsp;doSomething();&nbsp;});可悲的是,再次,它不工作,目前!只有这种模式起作用:$(':text').on('input',&nbsp;function(){&nbsp;doSomething();&nbsp;});编辑与更多的最新信息我可以肯定的是,这种模式:$('#container').on('input',&nbsp;':text',&nbsp;function(){&nbsp;doSomething();&nbsp;});现在,在所有的“标准”浏览器中也可以工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery