onBlur操作后元素的内容不会刷新

时间:2011-05-23 14:01:22

标签: jquery html refresh reload onblur

当使用jQuery将文本输入文本框时,我尝试编辑选择输入的内容。 这是我的TextBox

<input id="id_subsector_selector" type="text" maxlength="100" name="subsector_selector" onblur="onSubSectorSelectorChange(this);"/>

这是我的多选框

<select id="id_subsector" name="subsector" multiple="multiple"> <option value="14">Yazılımevi </option> </select>

这是我的javascript函数(我知道这很简单)

function onSubSectorSelectorChange(item) {
    $('select#id_subsector').html("");
}

问题是,当我在文本框中输入一个字符时,虽然onSubSectorSelectorChange函数被触发,但是在我点击页面上的某个位置或按Tab键按钮之前,selectbox内容不会改变。

问题可能是“onBlur”的触发动作,但我找不到合适的功能。 我正在等待任何评论或解决方案!

由于

3 个答案:

答案 0 :(得分:2)

当元素失去焦点时会触发

模糊。你所追求的是关键事件:

http://api.jquery.com/keyup/

答案 1 :(得分:1)

如果要在keydown上执行方法onSubSectorSelectorChange,则需要使用属性onkeydownonblur仅在您更改焦点时才有效。

了解onkeydownonkeypressonkeyup属性。

答案 2 :(得分:1)

一起摆脱onblur属性,并将document.ready()事件中的后期绑定转移到keyup事件:

$(document).ready(function(){
    $("#id_subsector").keyup(function(){
        onSubSectorSelectorChange(this);
    });
});

或者更简洁:

$(document).ready(function(){
    $("#id_subsector").keyup(function(){
        $(this).html("");
    });
});