使用命名函数设置多个事件响应

时间:2015-03-23 06:24:34

标签: javascript jquery html dom scripting

我想改变这个:

$( "p" ).on({
    "click": function() { console.log( "clicked!" ); },
    "mouseover": function() { console.log( "hovered!" ); }
});

看起来像这样:

$( "p" ).on({
    "click": fnOne(); },
    "mouseover": fnTwo(); }
});


function fnOne(){
    alert("click");
}

function fnTwo(){
    alert("click");
}

实现这一目标的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

您需要将函数引用作为值传递给事件名称属性

$("p").on({
    "click": fnOne,
    "mouseover": fnTwo
});

在您的代码中,存在语法问题,您尝试执行的操作也是调用这些函数并将这些函数返回的值作为未定义的事件处理程序传递。