获取触发事件的元素(节点)

时间:2019-11-15 11:58:31

标签: javascript html

是否可以找到正在监听触发当前函数的事件的元素?

在下面的代码中,event.target返回#xScrollPane的最低子节点,并且event.currentTargetevent.fromElement均为空。是否有其他方法可以对#xScrollPane进行DOM引用而无需对其进行硬编码?

//convert vertical scroll wheel to horizontal scroll wheel:
function scrollWheelX(event) {
    if (event.deltaY == 0) return
    event.target.scroll(event.target.scrollLeft + event.deltaY * 5, event.target.scrollTop)
    event.preventDefault()
}
document.getElementById('xScrollPane').addEventListener('wheel', scrollWheelX)

1 个答案:

答案 0 :(得分:1)

编辑:在事件处理程序中, WebElement element= driver.findElement(By.xpath("//* [@id=\"flightSearchContainer\"]/div[4]/button")); element.click(); String datevalue="16-11-2019"; JavascriptExecutor js=(JavascriptExecutor)driver; Thread.sleep(3000); js.executeScript("arguments[0].setAttribute('value','"+datevalue+"');", element); 对象引用事件处理程序添加到的元素。

如果this未引用所需的元素或对象,则可以将该元素绑定到this对象中。请注意,如果需要使用this,则必须将绑定函数传递给它,而不仅仅是原始函数。

即使在这种情况下也不需要绑定的示例:

removeEventListener