Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用命名函数设置多个事件响应_Javascript_Jquery_Html_Dom_Scripting - Fatal编程技术网

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

Javascript 使用命名函数设置多个事件响应,javascript,jquery,html,dom,scripting,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(){ ale

我试图改变这一点:

$( "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");
}

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

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

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

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

谢谢。我会在几分钟内把你的帖子标记为答案。顺便说一句,例如,我想在
单击
事件时调用
fnOne
fnTwo
“click”:fnOne,fnTwo“mouseover”:fnTwo
当然不正确。什么是正确的?@Arbaaz您可以创建另一个函数来调用这两个函数。。还有一个问题。我可以在您给出的第二个示例中关闭事件侦听器,但让我们假设在某个时候我不想在这个示例中列出FN2,这可能吗?