1
$something.on('mousedown touchstart mousemove', function(e){
   // everything do something
   if('mousedown') // do something

   if('touchstart') // do something

   if('mousemove') // do something
});

そのようなことは可能ですか?正しい方法は?

4

2 に答える 2

2

あなたはのために使用することができswitchますevent.type

$something.on("mousedown touchstart mousemove", function(e) {
    switch (e.type) {
        case "mousedown":
            // do something
            break;

        case "touchstart":
            // do something
            break;

        case "mousemove":
            // do something
    }
});
于 2012-12-02T11:51:22.123 に答える
0

もう 1 つの方法は、イベントに一致する内部メソッドを使用してハンドラー関数を作成することです。

$('div').on('mouseenter click', evtHandler)

function  evtHandler(evt, el) {
    var _self=this, $el=$(this);

    var handler = {
        click: function() {
            $el.text('Div was clicked on')
        },
        mouseenter: function() {
            $el.css('background','#EAEAEA')
        }
    };
    handler[evt.type]();
}

デモ: http://jsfiddle.net/ufYKF/

于 2012-12-02T12:36:44.737 に答える