我希望通过单击span元素获取x和y坐标。
<span id="username" onclick="username(this);">[Василий]:</span>
如何正确地将“this”赋予函数var t,因为现在它将转到“event”,并且下一个错误TypeError: t is undefined
function username(event, t) {
event = event || window.event;
alert(event.clientX); // undefined
var nick = t.innerHTML.slice(1, t.innerHTML.length-2);
}
答案 0 :(得分:2)
你必须按照你想要的顺序传递你想要的所有参数。
onclick="username(event, this)";
最好避免在第一时间使用内部事件属性。
document.getElementById("username").addEventListener("click", username);
function username(event) {
alert(event.clientX);
var nick = this.innerHTML.slice(1, this.innerHTML.length - 2);
alert(nick);
}
<span id="username">[Василий]:</span>
你最好还是使用一个设计用于点击的HTML元素(默认情况下会显示在Tab键顺序中,并且可以很好地与屏幕阅读器配合使用)。即使用<button>
,而不是<span>
。