jquery - 按 Enter 按钮时 IE 中的事件更改不起作用

标签 jquery internet-explorer

我想执行一个函数来更改输入[type=text],这在除 IE 之外的所有浏览器中都可以正常工作。

这是一个例子:

$('input.switch').change(function(){
    alert('ok now');    
});

文本输入看起来像这样:
<input class="switch" type="text" value="50000" />

不要忘记我有很多不同类别的输入!

您有解决方案吗?

最佳答案

如果您希望在按 Enter 时激活一个事件,则注册该事件:

$('input.switch:first').keydown(function(e){
    if (e.keyCode==13) { //Enter keycode
        //Do you stuff
    }
});

Enter 不会激活更改,可能是因为文本输入没有失去焦点。

祝你好运!

更新: 最新版本的 jQuery 允许您使用以下方式获取焦点元素:$('*:focus')。我相信你应该添加支持 IE 的脚本。对于每个按键,如果按键是 Enter,则获取焦点输入,模糊它并触发更改:

$('body').keydown(function() {
    if (e.keyCode==13) { //Enter keycode
        $('input:focus').blur().change(); //The blur is to prevent change happen again
    }
});

我不确定您是否可以强制 IE 在以不同方式按下 Enter 时触发更改。

希望这次能有所帮助。

关于jquery - 按 Enter 按钮时 IE 中的事件更改不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11415142/

相关文章:

javascript - 使用 jquery 提交一个在不同选项卡上包含多个不同字段的表单。

javascript - 在客户端使用 jquery 将图片上传大小限制为 20kb

javascript - 单击具有数据属性的按钮

javascript - 如何在 IE 11 的 Image.load 上获取 SVG 的宽度和高度

javascript - 如何使用 Mootools 支持 IE 8-9 中的 'placeholder' 属性?

Javascript/JQuery : how to add keypress/blur event that doesn't trigger twice with alert box? 仅限 IE

javascript - Jquery 附加项目点击功能不起作用

jquery ajax调用被codeigniter 3 csrf禁止

ajax - IE挂起,CPU占用100%

javascript - IE6 因这个 jQuery 崩溃