javascript - 我对事件函数中的参数感到困惑

标签 javascript html

这里有一个引用代码:https://jsfiddle.net/x0k5dx8w/8/

据我了解: 事件处理程序(例如addEventListener)将事件对象传递到调用函数的参数中。

(eg; document.getElementbyId("idname").addEventListener("click", function(eventobj),  

本质上是说

document.getElementbyId("id").addEventListener("click", function(idname));

现在我对两件事感到困惑,不给事件函数参数命名与给它命名有什么区别?

最后, 为什么你不能这样做:

function eventFunc() {
    var object1 = document.getElementById("object1");
    if( object1.target =..... ) {
        // do something
    }
}

最佳答案

您发布的语法无效。让我们回顾一下如何处理事件。

event handler是一个采用 Event 的函数对象作为参数:

function handleClick(event) {
  let elementClicked = event.target;
  console.log('You clicked', elementClicked);
}

Event有几个有用的属性和方法。 target 是最常访问的,但了解 preventDefault()stopPropagation() 也很重要。

要将监听器附加到元素,请使用 addEventListener :

let someElement = document.querySelector('button')
someElement.addEventListener('click', handleClick)

要删除它,请使用 removeEventListener,将给定 addEventListener 的相同函数对象传递给 addEventListener(不是复制、包装或内联函数:相同的函数对象):

someElement.removeEventListener('click', handleClick)

为了将来的引用,请查看 Mozilla 的 MDN(此答案中的所有链接都来自该网站),这是一个很棒的资源。

干杯!

关于javascript - 我对事件函数中的参数感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37572309/

相关文章:

javascript - knockout : dynamic content and applyBindings

javascript - 将值从组合框发送到文本区域

php - 显示错误消息时如何停止显示 "Please Select"选项的下拉菜单

javascript - Jquery动态更新从输入中选择

html - <span> 对搜索引擎有意义吗?

javascript - 纯 JavaScript 中的字符串到数字

javascript - 单击时出现 div 时保持元素不移动

javascript - ng-click 事件显示未定义

html - 当应用于子 div 时悬停停止工作,当位置设置为绝对时按钮消失

php - 我不需要 tcpdf 库