2

如何将多个事件绑定到同一个函数。我希望 click 和 touchstart 做同样的事情。然后我想要鼠标悬停的第二个功能。我想使用这种设置:

    $(document).on({
        click: function (event) {
        // I want this: click, touchstart: function (event) {
            event.preventDefault();
            // do something         
        },
        mouseover: function (event) {
            event.preventDefault();
            // do something         
        }
    }, '.link');
4

3 回答 3

2

You can combine the events in one .on() with space:

$(document).on('click touchstart', function(e) {
    // this will be called on click as well as touchstart
});
于 2013-07-02T12:13:06.173 回答
1

没有理由不能改为调用外部函数:

function myExternalFunction (event) {
    // do stuff
}

$(document).on({
    click: myExternalFunction,
    mouseover: myExternalFunction
}, '.link');
于 2013-07-02T12:13:33.833 回答
0

根据文档(并通过快速查看实现确认.on().on(),您可以这样做:

$(document).on({
    "click touchstart" : function (event) {
        event.preventDefault();
        // do something         
    },
    mouseover: function (event) {
        event.preventDefault();
        // do something         
    }
}, '.link');

演示:http: //jsfiddle.net/XzkTm/

于 2013-07-02T12:36:28.943 回答