2013-09-24 64 views
3

我有如下代码工作:按键事件不会在Internet Explorer

<input class="any" type="text" id="myId" name="myName" /> 

此输入是一个jQuery日期选择器。(http://jqueryui.com/datepicker/

我的JS如下:

$('#myId').keypress(function(evt) { 
    //codes 
}); 

我试过按键,keydown和keyup ..都不在IE中工作..

可能是bec jQuery的日期选择器插件的澳洲英语?

我还使用jQuery插件热键(https://github.com/jeresig/jquery.hotkeys/blob/master/jquery.hotkeys.js

但没有成功:(

试过我只是想捕捉的输入事件..

任何帮助吗?

费利佩

+0

它在其他浏览器的工作原理? – adeneo

+0

奇怪......甚至的keydown为我工作在IE10 - http://jsfiddle.net/eNjWQ/ – Rikard

+0

IE的哪些版本和jQuery的哪个版本是你想吗? –

回答

0

如果元素不存在于页面上的初始负载,则该事件可能不会被绑定到按钮。不知道为什么它尽管在其他浏览器中工作。

能否换个试试这个,看看它是否有助于

$(document).on('keypress', '#myId', function() { 
// .... 
}); 

,如果你使用jQuery的旧版本,那么你就需要使用.live()。

+0

http://jsfiddle.net/gaUeY/的jQuery 1.9.1对IE 9名的作品..但没有在我的项目..无论如何,应该有一些其他的问题,也许w^ith其他插件。 @RickyS – fdam

0

解决:http://jsfiddle.net/MJWUw/

IE不能识别的KeyEvent只是点击了这个输入,但如果我导航,直到场与tabspace它的工作原理.. 我做了一个变通方法来解决这个问题,将焦点设置手动,它现在正在工作。

$("#myId").click(function(evt){$(this).focus();}); 

$('#myId').keyup(function(evt) { 
    alert('working!') 
}); 

ATT