我有一个非常具体的网站,其中网页上的文字是可点击的,点击后会生成一个新的DOM元素。
我正在尝试创建一个chrome扩展程序,当用户点击一个网页时,click会触发一个函数,该函数返回由它的id生成的元素。
现在这就是我所拥有的
<script>
document.onclick = function(myFunction)
function myFunction() {
var x = document.getElementsById("v0")
return x
}
</script>
加载扩展程序时,我无法在控制台上看到任何内容。
是document.onclick正确的方法使用?我应该使用getElementByClassName还是getElementById?
答案 0 :(得分:0)
frequency[2] = (frequency[2] || 0) + 1
frequency[2] = (1 || 0) + 1
frequency[2] = (1) + 1
frequency[2] = 2
是一个错误。您正在尝试调用名为 function 的函数并将其返回值分配给document.onclick = function(myFunction)
- 但 function 是一个关键字,不能是函数名。< / p>
要将document.onclick
指定为onclick处理程序,只需指定该函数:
myFunction
虽然这对你不太好:document.onclick = myFunction;
通过其id获取一个元素并返回它,但click事件处理程序的返回值不用于任何事情(除了防止默认行为)点击)。
您需要重写myFunction
,以便它对元素做了一些有用的事情。
答案 1 :(得分:0)
你走在正确的轨道上。您希望将单击操作绑定到文档。点击发生后,您希望捕获事件的目标。
使用jQuery:
myFunction
Pure JS:
$(document).click(function(event) {
var target = $(event.target);
});
从那里,你可以用它做任何你想做的事。例如:
document.addEventListener("click", function(event) {
event = event || window.event;
var target = event.target || event.srcElement;
}, false);