jQuery文档准备在IE上不能正常工作
jQuery document ready not working properly on IE
我使用jQuery .ready
函数在文本输入上添加一些ajax调用到我的注册页面的TextBox
es
在Chrome, Firefox和Safari上都可以正常工作,但在Internet Explorer(我使用的是IE11)上无法工作。
这是我在$(document).ready()
使用的代码:
$(document).ready(function () {
$(reg_user).on('input', function (e) { ValidateEmailPass(reg_user); });
$(reg_pass).on('input', function (e) { ValidateEmailPass(reg_pass); });
$(reg_email).on('input', function (e) { ValidateEmailPass(reg_email); });
$(reg_age).on('input', function (e) { ValidateEmailPass(reg_age); });
});
每当其中的文本发生变化时,它都会触发验证函数。虽然,我IE,它告诉我reg_user
是未定义的,这会导致错误,它不会触发这些函数。
我使用的jQuery 1.11.3支持旧版本。如果你知道怎么修,请告诉我。我不知道到底是什么导致了这个问题。我认为IE的行为与$(document).ready()
不同。
Replace
$(reg_user)
具有右元素选择器(ID或Class)。在DOM准备好之前,你不能创建链接(var reg_user
)到DOM元素。
注:另外,IE11在input
事件上也有一些问题。
这是一个很好的阅读。
Internet Explorer从版本9开始支持oninput事件。如果您需要一个事件,当这些元素的内容是在ie浏览器版本9之前修改,请使用onpropertychange事件。
因此,您可以使用change
-正如注释所建议的那样,它不完全相同,但它是跨浏览器兼容的。此外,应该使用有效的选择器而不是全局变量。这是一个很糟糕的做法,我不知道它在所有浏览器上的表现。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- javascript扫雷器floodfill算法不能正常工作