jquery如何检测隐藏字段的更改

jquery如何检测隐藏字段的更改,jquery,Jquery,我需要检测隐藏字段何时更改。 我想在每次隐藏的值改变时做一些动作 我已经阅读了jquery文档并发现了更改(fn),但它说只有在焦点被释放时才会触发 这对一个隐藏的领域有效吗? 我认为隐藏字段没有焦点事件 任何帮助都将不胜感激 谢谢您可以设置一个较短的间隔并检查如下值: var defaultValue = ''; setInterval(function() { if ($('.input').val() != defaultValue) { defaultValue

我需要检测隐藏字段何时更改。 我想在每次隐藏的值改变时做一些动作

我已经阅读了jquery文档并发现了更改(fn),但它说只有在焦点被释放时才会触发

这对一个隐藏的领域有效吗? 我认为隐藏字段没有焦点事件

任何帮助都将不胜感激
谢谢

您可以设置一个较短的间隔并检查如下值:

var defaultValue = '';

setInterval(function() {
    if ($('.input').val() != defaultValue) {
        defaultValue = $('.input').val();
        //do something now that the value has changed
    }
}, 100);

.change()函数在您实际更改您关注的内容时调用。你不可能把注意力集中在一个隐藏的字段上。您应该在此处添加脚本,以便我们了解您真正想要做什么以及有什么问题。

您已经需要访问隐藏字段以更改其值。正如@michaelcopeland所说,如果您使用jquery执行此更改,那么您可以在同一位置处理此更改

假设您通过按下按钮来更改隐藏字段的值,当这种情况发生时,您必须将字段的值写入div。 以下是此示例的解决方案:

HTML:

<input id="inp" type="hidden" value="0" />
<div id="div"></div>
<button id="butt">Change the value of the hidden input</button>
$(document).ready(function(){   
    //this button toggles the value between 1 and 0
    $("#butt").click(function(){
        var val = ($("#inp").val()=="1")? "0" : "1" ;//choose 1 or 0
        $("#inp").val(val);//set the value to the hidden input        
        setDiv();//calls the handler of the change
    });

    function setDiv(){
        $("#div").html($("#inp").val());
    }
});
您可以在此处进行测试:


希望这有帮助。:)

我不完全明白你的问题。隐藏字段的值是如何变化的?如果你已经在用JS修改它,你可以在那一点上执行你的操作。我也有这个问题。在我的例子中,隐藏字段正在被一个我无法更改的库更改,因此我希望通过拦截更改来注入回调。似乎不可能。