2014-04-08 62 views
1

IE10和其他浏览器在标签中具有禁用属性是有区别的。IE10中img标签的禁用属性

<!DOCTYPE html> 
<html> 
<head> 
    <title> Img Tag </title> 
</head> 
<body> 
    <script type="text/javascript"> 
     function abc() { 
      alert("Hi"); 
     } 
    </script> 
    <img style="width: 50px; height: 50px;" onload="abc()" onclick="abc()" src="./testimg.png" disabled /> 
</body> 
</html> 

IE10是尊重残疾人财产和双方的onload &的onclick不点火。如果我删除禁用的属性,它会触发这两个事件。

但是,Chrome不尊重残疾人财产。我的意思是,它正在发射这两个事件,而不管残疾属性。

我的问题是, 我可以在标签中使用禁用的属性吗? 如果是,IE10或Chrome的正确行为是什么?这是一个在车库中的错误?

+0

'disabled'只适用于表单元素。 – Vucko

+0

Vucko请检查此链接:http://www.java2s.com/Code/JavaScriptReference/Javascript-Properties/disabledisappliedto.htm –

+0

@Mohammed Imran Khan:这是针对JavaScript属性,而不是HTML属性。 – BoltClock

回答

1

没有规范或公开草稿允许disableda元素。所以Chrome是正确的,IE是错误的。有趣的是,a element on IE的文档没有提及disabled属性(只有isDisabled属性)。

参考How to disable HTML links

0

在HTML 5规范:

非标准属性正确的行为是添加他们到DOM,否则忽略它们。因此,Chrome具有正确的行为。


图像不是交互式控件,因此将点击事件绑定到它们通常是一个坏主意。

改为使用按钮元素。您可以在其中放置一个图像并对该按钮进行设计,使其看起来像一幅普通的图像。您可以禁用该按钮并将点击事件绑定到该按钮。

+0

图像不是互动控件似乎几乎是你的品味声明不是事实。将处理程序绑定到img元素的onclick事件的缺点是什么? –