gpt4 book ai didi

javascript - 我可以在任意 HTML 元素类型上触发 JQuery "change"事件吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:47 24 4
gpt4 key购买 nike

假设我有一个 JQuery 对象 el,它选择了一个元素。如果选择的元素是 DIV,调用 el.trigger("change") 是否合法、安全、合理?其他元素类型呢?就此而言,我可以调用 el.change() 吗?

JQuery documentation for .change()说:

The change event is sent to an element when its value changes. This event is limited to <input> elements, <textarea> boxes and <select> elements.

我不清楚这里的“有限”是什么意思。它可能指的是只有这三种元素类型会自动产生这些事件,但也可能意味着不允许其他元素产生这些事件。

根据经验,Chrome v28 似乎允许它,但我想知道它是否可以正常工作。

目标

我有一个伪控件,它由一组按钮和包裹在一个 div 中的 span 组成。控件的每个实例都维护和管理一个值,通过单击控件的按钮可以修改该值。当值发生变化时,我需要从 div 发送一个事件,以便页面的其余部分可以使用react。我不想监听控件外部的点击事件,因为这会将周围的代码耦合到控件的内部,并不是所有的点击都会更改值。

我可以创建一个新的事件名称,但内置的“更改”事件在概念上似乎是正确的,所以如果可以的话我宁愿使用它。作为额外的好处,我的页面已经有一个“更改”处理程序,将正确的位置与正确的行为绑定(bind)在一起(因为我在页面上也有一些输入和选择控件)。

我需要支持 IE8 及更高版本,以防答案因浏览器品牌和版本而异。

最佳答案

没有任何限制,您可以在任何 HTML 元素上触发您喜欢的任何事件类型。
jQuery 文档只是告诉你 change仅在 <input> 上自动触发, <textarea><select>

关于javascript - 我可以在任意 HTML 元素类型上触发 JQuery "change"事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17748360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com