IE8上的JavaScript/Jquery点击事件无法正常工作
问题描述:
我是网页开发的新手。IE8上的JavaScript/Jquery点击事件无法正常工作
我在我的项目的按钮上有一些问题。 这行代码是工作在所有Web浏览器,除了IE8:
$("#SampleBtn").live("click", function(){
console.log('It works!');
});
它不作出反应的方式点击时是应该的。在这个例子中,它应该打印出“It works!”,显然没有任何反应。但是,如果用户点击按钮而不放开(keydown)超过1秒钟,它就可以工作。
我不太确定问题是从哪里来的。它是否与.live或click事件有关?
任何帮助将不胜感激。谢谢!
答
我们发现,本地,当应用程序在我们的node.js服务器运行时,有一个与按钮没有问题,但是,这也正是问题的发生。 这是造成IE8上的错误:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png',sizingMethod='scale');
看来,预加载导致在自定义按钮图像的响应延迟。也许,图像被提取需要时间。 不管怎么说,我们能够通过改变来解决这个问题:
background-image: url('images.png');
但是感谢大家抽出时间在此分享你的想法。 :)
答
IE8有不少问题,但这应该肯定有效。我最好的猜测是console.log调用失败(因为我在评论中提到的原因)。
尝试将console.log
更改为alert
并查看它是否有效。
也可以尝试使用delgated version of on
$(document).on('click', '#SampleBtn', function(){
console.log('It works!');
});
“活”方法在1.7中被弃用,**在1.9中被删除**。你使用什么版本?另一种方法是使用'on'。 – elclanrs 2013-03-06 23:50:15
你使用的是什么版本的jQuery?在控制台中查找'$ .fn.jquery'。同样在IE浏览器中,控制台对象在开发者控制台打开之前不存在。如果您在此之前尝试访问控制台,您将收到错误消息。 – 2013-03-06 23:51:27
我正在使用1.8.2。我尝试'开',但现在,它甚至不能在Chrome中工作 – Kimpoy 2013-03-06 23:55:56