JavaScript AddEventListener异常

JavaScript AddEventListener异常,javascript,html,css,Javascript,Html,Css,目前,此代码对我来说非常适用: function click(event){ var header = document.getElementById('header'); var text = document.createElement('textarea'); text.multiline = true; text.cols = 30; text.rows = 6; text.style.cssText = "position: absolu

目前,此代码对我来说非常适用:

function click(event){
    var header = document.getElementById('header');
    var text = document.createElement('textarea');
    text.multiline = true;
    text.cols = 30;
    text.rows = 6;
    text.style.cssText = "position: absolute; margin-left:" + event.clientX + "px; margin-top:" + (event.clientY - 50) + "px;";
    header.parentNode.insertBefore(text, header.nextSibling);
}
document.addEventListener("click", click);
但我想知道,当你点击文本区域时,是否可以阻止它激活

使用
event.target.nodeName

函数单击(事件){
if(event.target.nodeName.toUpperCase()!=='TEXTAREA'){
var header=document.getElementById('header');
var text=document.createElement('textarea');
text.multiline=true;
text.cols=30;
text.rows=6;
text.style.cssText=“位置:绝对;左边距:”+event.clientX+“px;右边距顶部:”+(event.clientY-50)+“px;”;
header.parentNode.insertBefore(文本,header.nextSibling);
}
}
document.addEventListener(“单击”,单击)
标题
使用
event.target.nodeName

函数单击(事件){
if(event.target.nodeName.toUpperCase()!=='TEXTAREA'){
var header=document.getElementById('header');
var text=document.createElement('textarea');
text.multiline=true;
text.cols=30;
text.rows=6;
text.style.cssText=“位置:绝对;左边距:”+event.clientX+“px;右边距顶部:”+(event.clientY-50)+“px;”;
header.parentNode.insertBefore(文本,header.nextSibling);
}
}
document.addEventListener(“单击”,单击)

Header
在不太可能有人正确使用XHTML的情况下,我会注意到节点名称将以小写形式显示。在绝大多数情况下,如果人们使用HTML,或者错误地使用XHTML,那么它将是完全大写的。所以我总是疑神疑鬼:
event.target.nodeName.toUpperCase()!='text区域“
@T.J.Crowder,已更新!Is是关于
IE9的,不是,这是因为在XHTML中,元素的名称是
textarea
,而XHTML是区分大小写的(因为它是XML)。HTML不区分大小写,元素名称被规范化为所有大写字母,但XHTML是另一个野兽。@T.J.Crowder明白了!谢谢;)在不太可能的情况下,有人正确地使用了XHTML,我将注意到节点名称将使用小写。在绝大多数情况下,如果人们使用HTML,或者错误地使用XHTML,那么它将是完全大写的。所以我总是疑神疑鬼:
event.target.nodeName.toUpperCase()!='text区域“
@T.J.Crowder,已更新!Is是关于
IE9的,不是,这是因为在XHTML中,元素的名称是
textarea
,而XHTML是区分大小写的(因为它是XML)。HTML不区分大小写,元素名称被规范化为所有大写字母,但XHTML是另一个野兽。@T.J.Crowder明白了!谢谢;)