将参数传递给 EventListener 侦听器函数
在需要在 addEventListener 调用中将参数传递给侦听器函数的情况下,参数的值可能无法在侦听器内访问。这是因为该函数在侦听器范围内被视为新变量。
解决方案:利用目标属性
要解决此问题,请考虑使用目标属性侦听器函数中的事件对象。通过在事件目标上设置自定义属性,您可以在侦听器中访问所需的参数。
示例:
考虑一个 HTML 按钮和 JavaScript 事件侦听器:
<button>
const myButton = document.getElementById('myButton'); // Set a custom property on the button target myButton.myParam = 'This is my parameter'; // Add an event listener to the button myButton.addEventListener('click', (event) => { // Retrieve the custom property from the event target const myParameter = event.currentTarget.myParam; // Do something with the parameter alert(`My parameter: ${myParameter}`); });
在此示例中,单击按钮时,myParam 属性的值为从事件目标检索并显示在警报中。这种方法允许您有效地将参数传递给侦听器函数并在侦听器的范围内访问它们。
以上是如何将参数传递给 JavaScript 事件监听器?的详细内容。更多信息请关注PHP中文网其他相关文章!