为什么jQuery.val(value)不会从DOM元素调度任何事件? [英] Why jQuery.val( value ) does not dispatch any event from the DOM element?

查看:86
本文介绍了为什么jQuery.val(value)不会从DOM元素调度任何事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我们在DOM元素上使用方法 jQuery.Val(value)来更改其值。

When we use the method jQuery.Val( value ) over a DOM element to change its value.

元素不应该调度一个事件,通知它的值已经改变了?

shouldn't the element dispatch an event informing that its value has changed? -I though the event 'change' was going to be dispatched.

如果不是为什么?

推荐答案

没有发送,这只是在程式化更改时才会发生。但是,如果需要,您可以随意触发该事件:

It's not dispatched, this just doesn't happen when it's programmatically changed. You are however free to fire the event when needed like this:

$('#Anne').val('Jenny').change();

你可以在这里测试

推理?如果用户更改了您可能需要做出的反应,但是如果您 更改了某些内容,那么您知道发生了什么,并且触发事件处理程序可能完全浪费...所以它是如果需要,您可以调用该事件处理程序

The reasoning? If the user changed something you may need to react, but if you changed something then you know what happened, and firing an event handler may be completely wasteful...so it's up to you to call that event handler if it's needed.

这篇关于为什么jQuery.val(value)不会从DOM元素调度任何事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆