我有以下简单的HTML代码:
<input type="text" />
<input type="hidden" />
<input type="button" value="ok" />
和javascript:
$(function(){
$(":text").on("keyup", function(){
$(":hidden").val($(this).val()).trigger("propertychange");
});
$(":hidden").on("propertychange", function(){
alert($(this).val());
});
$(":button").on("click", function(){
alert($(":hidden").val());
});
});
当我在输入类型中键入内容时,text
警报将显示几次,而不是一次。
如何解决?
参见jsFiddle。(我用Firefox检查过)
您的:hidden
选择实际上是匹配的8个元素(包括<head>
,<title>
和<script>
),而不是仅隐藏的输入,因此propertyChange
事件引发针对每一个。
从jQuery隐藏的文档中:
在某些浏览器中:隐藏包括标题,标题,脚本等...
尝试以下方法:
$("input:hidden").on("input propertychange", function(){
alert($(this).val());
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句