在Backbone.js中使用Jquery掩码插件时,为什么不触发输入事件?

时间:2016-04-28 14:05:59

标签: jquery events backbone.js input jquery-mask

假设我有以下HTML模板:

<script type="text/template" id="template">
    <form>
        <div class="form-group">                                                          
            <input class="form-control" type="email" id="email" name="email">                                                        
        </div>
        <div class="form-group">                                                          
            <input class="form-control tel" type="text" id="phone" name="phone">                                                        
        </div>
        // rest of the ui
    </form>
</script>

<script>
    // Backbone View 
    SomeForm = Backbone.View.extend({
        template:$('#template').html(),
        events:{
            'input .tel':'telChanged'   
        },
        telChanged:function(e){
            var value = this.$('.tel').val();
            console.log('tel changed, value = ',value);
        },
        render:function(){
            this.$el.html(this.template());
            // some example that uses 
            this.$('.tel').mask('9-999-999-999');
            return this;
        }
    });

    var view = new SomeForm();
    $('#app').html(view.render().$el);


</script>

现在,只要用户输入.tel输入,就不会触发telChanged方法,并且不会向控制台打印任何内容!

任何人都可以告诉我们造成这种情况的原因并提前感谢您。

0 个答案:

没有答案