我刚刚完成了一个非常激烈的调试会话,我的cucumber
测试代码可以使用webkit
工作但不会使用selenium
。通过非常具体地确定被点击的确切DOM元素来解决问题。我需要指定单击深层嵌套的<span>
元素。这提出了一个我不确定如何回答的问题:
我如何知道最初收到活动的元素是什么?
我已经阅读了一些关于事件冒泡的内容,因此即使我的元素的事件处理程序触发,它也不意味着它是接收事件的初始元素。我不明白为什么Chrome能够接受一个点击事件,该点击事件被传播到解雇我的处理程序的正确元素,但Firefox没有传播该事件。
This question on debugging events并没有完全捕捉到我的问题,因为在这种情况下,我并不知道要检查的元素。我基本上猜对了。我喜欢用更有条理的过程来调试。帮助我更好地理解JS事件冒泡/传播模型的奖励点。
答案 0 :(得分:1)
事件对象的target
属性。
domElement.addEventListener('click', function(e){
console.log(e.target);
});