为啥 jQuery.val(value) 不会从 DOM 元素中分派任何事件?
Posted
技术标签:
【中文标题】为啥 jQuery.val(value) 不会从 DOM 元素中分派任何事件?【英文标题】:Why jQuery.val( value ) does not dispatch any event from the DOM element?为什么 jQuery.val(value) 不会从 DOM 元素中分派任何事件? 【发布时间】:2011-04-27 01:31:40 【问题描述】:当我们在 DOM 元素上使用 jQuery.Val( value )
方法来更改其值时。
元素不应该发送一个事件通知它的值已经改变吗? -我虽然将发送事件“更改”。
如果不应该为什么?
Live Demo
【问题讨论】:
【参考方案1】:它没有被分派,只是当它以编程方式改变时不会发生。但是,您可以在需要时随意触发事件,如下所示:
$('#Anne').val('Jenny').change();
You can test it here.
推理?如果 user 更改了某些内容,您可能需要做出反应,但如果 您 更改了某些内容,那么您就知道发生了什么,并且触发事件处理程序可能完全是浪费......所以它是由您来调用该事件处理程序如果需要它。
【讨论】:
@SDReyes:另外:如果事件处理程序会自动触发程序更改,这可能会触发不可避免的无限循环,具体取决于您的操作。他们不这样做很好。以上是关于为啥 jQuery.val(value) 不会从 DOM 元素中分派任何事件?的主要内容,如果未能解决你的问题,请参考以下文章
为啥当代码有效时 JQuery .val() 方法有时会返回 undefined? [复制]
Firefox/Safari 中的 jQuery val() 问题
为啥更新包含 `document.getElementById("text").value` 的变量不会改变 DOM? [复制]
为啥即使使用 hibernate.hbm2ddl.auto" value="create",hibernate 也不会自动创建表?