相关疑难解决方法(0)

如何在addEventListener中使用参数传递给函数?

以传统的方式添加事件监听器:

function getComboA(sel) {
    var value = sel.options[sel.selectedIndex].value;  
}

<select id="comboA" onchange="getComboA(this)">
<option value="">Select combo</option>
<option value="Value1">Text1</option>
<option value="Value2">Text2</option>
<option value="Value3">Text3</option>
</select>
Run Code Online (Sandbox Code Playgroud)

但我想适应addEventListener方式:

productLineSelect.addEventListener('change',getSelection(this),false);

function getSelection(sel){
    var value = sel.options[sel.selectedIndex].value;
    alert(value);
}
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为我不能将getSelection()中的任何参数作为addEventListener方法中的第二个参数传递?据我所知,我只能使用没有括号的函数名称.

任何的想法?

顺便说一下,请看看我之前关于console.log在safari 6.0开发人员检查器中不起作用的问题,我无法在控制台中编写任何输出,这令人沮丧.

html javascript javascript-events

53
推荐指数
3
解决办法
8万
查看次数

函数调用和函数引用有什么区别?

我有以下功能

function hello() {
 alert("hi!");
}
Run Code Online (Sandbox Code Playgroud)

拿这段代码:

var elem = document.getElementById("btn");
elem.onclick = hello;
Run Code Online (Sandbox Code Playgroud)

我的问题可能有点难以理解,所以请耐心看看:这段代码与普通调用有什么区别,或者是什么使得这段代码需要引用函数变量而不是常规调用?(hello();)

我怎么知道我应该在哪里提供函数的引用,以及什么时候我应该实际调用它?

javascript reference function call

24
推荐指数
3
解决办法
6144
查看次数

标签 统计

javascript ×2

call ×1

function ×1

html ×1

javascript-events ×1

reference ×1