javascript函数srcElement.nodeName在iOS5中给出错误的输出

The javascript function srcElement.nodeName gives wrong output in iOS5

本文关键字:出错 错误 输出 iOS5 函数 srcElement nodeName javascript      更新时间:2023-09-26

下面的JavaScript函数在iOS 4上运行,但在iOS 5上输出错误:

var attribs = event.srcElement.attributes;
    myWebPageElement = event.srcElement;
    node = event.srcElement.nodeName;
if(node == "#text")
    alert('Touch event occured on Text.');
else 
    alert('Touch event occurred on image.');

在iOS 5中,无论事件发生在文本还是图像上,JavaScript总是执行else块,因为每次我们获得与文本对应的标签时,我们都没有获得节点名"#text"

如何解决这个问题?

不要使用srcElement来检查事件的目标,而是使用target或currentttarget。使用这些将使浏览器版本之间更加一致。

srcElement是微软添加的,像往常一样,他们添加了其他人不会使用的东西。更多信息请参阅此处http://www.quirksmode.org/dom/w3c_events.html

相关文章: