Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以在隐藏字段中使用模糊吗,jquery_Javascript_Jquery - Fatal编程技术网

Javascript 我可以在隐藏字段中使用模糊吗,jquery

Javascript 我可以在隐藏字段中使用模糊吗,jquery,javascript,jquery,Javascript,Jquery,我可以在jquery中的隐藏字段中使用模糊吗?如果没有,我如何跟踪隐藏字段中的更改隐藏字段是隐藏的,用户无法看到更改内容。只有页面作者/脚本可以更改其值,如果是这样,您可以使用change事件跟踪更改 $('#hidden_id').change(function(){ alert('Changed Value: ' + $(this).val()); }); 不,你不能因为这是正常的行为 当控件失去输入焦点(模糊)且自获得焦点后其值已被修改时,将发生onchange事件 但你可以按你的

我可以在jquery中的隐藏字段中使用模糊吗?如果没有,我如何跟踪隐藏字段中的更改

隐藏字段是隐藏的,用户无法看到更改内容。只有页面作者/脚本可以更改其值,如果是这样,您可以使用
change
事件跟踪更改

$('#hidden_id').change(function(){
  alert('Changed Value: ' + $(this).val());
});

不,你不能因为这是正常的行为

当控件失去输入焦点(模糊)且自获得焦点后其值已被修改时,将发生onchange事件

但你可以按你的意愿去做。AddOnChange事件,然后在每次更改隐藏类型输入的值时显式触发它。

事件处理程序“change()”在隐藏输入字段上不起作用。相反,您可以做以下几点(未经测试!):

使用隐藏的输入字段和onchange函数调用此函数。它通过比较字段的“当前”值和以前存储的值来重新创建onchange函数。如果没有任何更改,则在100毫秒内重新检查;如果发生了变化,它将执行您的功能(我希望;)


希望这能有所帮助。

@Reigel:这是因为通过编程更改输入值不会触发更改事件。这就是为什么我总是像
$('#elem').val(new#val).trigger('change')
那样编写它@Reigel:他必须像@Mark commented一样明确触发更改事件。@Reigel:是的,但你没有解释为什么或如何修复;)
function hiddenOnChange(elem, function) {
    if ($(elem).val()!=$(elem).getAttr('oldVal')) {
        function;
    }
    $(elem).attr('oldVal', $(elem).val());

    window.setTimeout(function(){hiddenOnchange(elem, function);}, 100);
}