gpt4 book ai didi

live - 获取内容被 jQuery 更改的文本字段的 "Change"事件

转载 作者:行者123 更新时间:2023-12-01 03:51:00 25 4
gpt4 key购买 nike

我使用一些非常简单的 jQuery 制作了一些漂亮的复选框

HTML

<span class="iconElement checkBox" id="update_Check"></span>
<input type="text" id="update" name="update" value="0" class="hidden savedData" />

JS

$('.checkBox').live('click', function (e) { 
if ($(this).hasClass('disabled') != true) {
$(this).toggleClass('checked')
var thisValue = parseInt($(this).next().val());
var newValue = (thisValue - 1) * (-1); // enusures the output is either 1 or 0, [ (1-1)*-1=0 and (0-1)*-1 =1 ]
$(this).next().val(newValue);
};
});

这只是一个带有漂亮 CSS 背景 Sprite 的跨度,单击时会更改它的“选中”类,将 CSS Sprite 从“勾选”调整为空框。同时,它还将文本字段的内容(由 CSS 类“hidden”隐藏)更改为 1 或 0,以指示该框是否被选中。

它必须有这个 1 或 0,因为当数据传递到下一个阶段时,我必须有一个值,未选中的复选框不会发送任何值。

一切正常!

但是...我还需要能够检测隐藏文本字段的“更改”事件。

这由“savedData”类控制。

$('.savedData').live('change', function () {
// do stuff now we know this has been changed
});

我当然可以将其包含在上面代码中的“click”事件中,但这对于应用程序来说并不实用。

似乎“更改”只是由键盘或鼠标更改的元素触发,任何由 jQuery 更改的内容都不会被标记。

最初我使用隐藏输入类型并认为这是问题所在,但现在将它们全部更改为文本类型,问题仍然存在!

有什么建议吗?!

最佳答案

It seems that the "change" even is only trigger by elements which are changed by the keyboard or mouse, anything changed by jQuery is not being flagged.

是的,这是正确的。这正是它的工作原理。只有用户所做的更改才会触发事件处理程序:编程更改则不会。触发它们的唯一方法是您自己这样做:

$(this).next().val(newValue).change();

.change()触发元素上的 change 事件,因此将调用处理程序。

关于live - 获取内容被 jQuery 更改的文本字段的 "Change"事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8577628/

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