目前,这段代码非常适合我:
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);
但我想知道您是否可以在单击文本区域时阻止它激活。
最佳答案
Test the
target-node
usingevent.target.nodeName
function click(event) {
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 = "position: absolute; margin-left:" + event.clientX + "px; margin-top:" + (event.clientY - 50) + "px;";
header.parentNode.insertBefore(text, header.nextSibling);
}
}
document.addEventListener("click", click);
<header id='header'>Header</header>
关于JavaScript AddEventListener 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37806748/