Onblur事件未在chrome中调用

时间:2014-10-21 15:11:05

标签: jquery

我有一个要求,就是当用户完成输入文本字段后,我想对该文本字段进行一些操作。

HTML:

<div class="controls">
    <input type="text" id="convenience_chargespopup" onkeypress="return isNumber(event)"  onblur="addZeros()" class="m-wrap span12" placeholder="Convinience Charges"/>
</div>

使用Javascript:

$(document).ready(function() {
    function addZeros() {
        alert('sssssssssss');
    }
});

永远不会调用addZeros()函数。

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

AddZeros在另一个函数范围内(您不必要的DOM就绪处理程序),因此对于基于属性的事件是不可见的。

如果使用jQuery,最好使用基于属性的事件与jQuery ...在jQuery中连接它们,以便代码和事件注册在一起(每个事件也允许多个处理程序)。

HTML:

<div class="controls">
   <input type="text" id="convenience_chargespopup" class="m-wrap span12" placeholder="Convinience Charges"/>
</div>

代码:

$(document).ready(function() {
    $('#convenience_chargespopup').blur(function(){
        alert('sssssssssss');
    }).keypress(function(){
        return isNumber(event)
    });
});

注意:我通常更喜欢快捷方式DOM ready handler:

$(function() {
    $('#convenience_chargespopup').blur(function(){
        alert('sssssssssss');
    }).keypress(function(){
        return isNumber(event)
    });
});