如何在IE浏览器中禁用元素

时间:2013-08-11 04:59:48

标签: css3 internet-explorer

我想在一个浏览器(IE)中禁用动画元素 我该怎么办呢? 或者我怎样才能让css3元素在IE中运行?          

style =

  -webkit-animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;  
  -moz-animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;  
  -o-animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;  
  animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;

2 个答案:

答案 0 :(得分:0)

你可以使用jquery

if ($.browser.msie) {
    alert('IE'); 
    // Disable Animation
    $("#element").attr('disabled', 'disabled');
}

您还可以定位特定版本的IE,例如

if ($.browser.msie  && parseInt($.browser.version, 10) == 8) {
    alert('IE8'); 
    // Disable Animation
} else {
    alert('Non IE8');
}

编辑:正如评论者所说,这对jQuery 1.9+不起作用。如果你使用1.9+,我能想到的唯一另一个选择是使用插件进行浏览器检测。我使用CSS Browser selector将浏览器特定信息作为类添加到页面的html标记中。从那里你可以做出改变。

使用CSS Browser selector,您可以定位即删除

之类的元素
$(".ie #element").attr('disabled', 'disabled');

特定版本的OR

$(".ie8 #element").attr('disabled', 'disabled');

其他建议是使用jquery.support函数。但是这是一个内部函数,.support文档的jquery明确指出“当内部不再需要特定属性时可能会删除它们”,所以我不建议使用它。

答案 1 :(得分:0)

对于您的用例,我建议您使用Modernizr。当您使用它时,它会检测您的浏览器支持的所有功能,并将相关类应用于该元素。

然后,您可以使用这些modernizr类来定位您的css类,例如,从所有不支持动画的浏览器中删除动画属性。