我正在使用jquery mobile 1.4.2和脚本1.11.0
我之前已经阅读了有关此问题的问题,但我没有在我的代码中使用该方法。
这是我的代码
jQuery("input[name^='cat']").bind(jQuery.browser.msie ? 'click' : 'change', function(event) {
var id = jQuery(this).attr('id');
mantener_seleccion(id);//its a function name
});
如果我运行它的显示错误就像这样" TypeError:jQuery.browser未定义" 请任何人帮助我。
答案 0 :(得分:6)
只需在我的代码中添加以下脚本。
<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>
请参阅此链接以获取更多信息。 https://github.com/Studio-42/elFinder/issues/469
答案 1 :(得分:4)
jQuery.browser已弃用。 此属性已在jQuery 1.9中删除
<强> Demo 强>
if(navigator.userAgent.toUpperCase().indexOf('MSIE') >= 0){
alert("IE")
}
使用此代码段:
var isIE = navigator.userAgent.toUpperCase().indexOf('MSIE') >=0 ? 'click' : 'change' ;
jQuery("input[name^='cat']").bind(isIE , function(event) {
var id = jQuery(this).attr('id');
mantener_seleccion(id);//its a function name
});
答案 2 :(得分:0)
Ankur Modi的回答是有效的,但我要为您通过安全连接工作的用例添加一个。
浏览器会通过安全连接过滤出混合内容,因此您需要手动导入JS migrate 1.0.0并进行安装。在我的用例中,我们使用ASP.Net MVC 5x和旧版JS小部件的混搭。
在BundleConfig.cs中添加以下行:
bundles.Add(new ScriptBundle("~/bundles/jqmigrate").Include(
"~/Scripts/jquery-migrate-1.0.0.js"));
在_Layout.cshtml中,将以下行添加到&#39; Scripts.Render&#39;的底部。部分:
@Scripts.Render("~/bundles/jqmigrate")
您现在不应再收到错误。