jQuery调用val方法对input赋值不能触发propertychange事件解决方法

在input添加了propertychange事件,运行是正常的:

<input name="txt1" />
<script type="text/javascript">
    $(document).ready(function() {
        $('input').bind('input propertychange', function() {
            console.log($(this).val());
        });
    });
</script>



后面发现调用jQuery的val方法对input赋值,propertychange事件不能正常触发了:

<input name="txt1" />
<button>随便点</button>
<script type="text/javascript">
    $(document).ready(function(){
        $('input').bind('input propertychange', function() {
            console.log($(this).val());
        });
        
        $('button').bind('click', function() {
            $("input").val(new Date().getTime());
        });
    });
</script>



最终通过手动调用一下change方法解决:

<input name="txt1" />
<button>随便点</button>
<script type="text/javascript">
    $(document).ready(function(){
        $('input').bind('input propertychange change', function() {
            console.log($(this).val());
        });
        
        $('button').bind('click', function() {
            $("input").val(new Date().getTime());
            $("input").change();
        });
    });
</script>



评论: 0 | 引用: 0 | 查看次数: 680
发表评论
登录后再发表评论!