0

私は、、、、、要素でdivあるを持っています。それらは動的に変化します(カルーセル)。したがって、ホバー時にこの変更を提供する停止する必要がありますが、機能しません(イベントは発生しません)。divimgah3inputsetIntervalhover

jQuery('div.slider').on('hover', 'div, img, a, h3, input',
//Tried jQuery('body').on('hover', 'div.slider'...
//Alsro tried on('focusin focusout')
    function(event){
        console.log('on');
        if(event.type === 'focusin'){
            console.log(event.type);
            stopCarousel();
        }
        else if(event.type === 'focusout'){
            console.log(event.type);
            startCarousel();
        }
    }
);

問題はどこだ?

4

3 に答える 3

3

.hover()はイベントではなく関数であり、を使用するmouseenterためmouseleave、focusinまたはfocusoutに一致するタイプはありません。私はただするだろう:

$('div.slider').on({
    mouseenter: function() {
        stopCarousel();
    },
    mouseleave: function() {
        startCarousel();
   }
}, 'div, img, a, h3, input');
于 2013-01-30T19:19:04.603 に答える
1

あなたが探しているイベントはそうではないと思いhoverますmouseover

純粋なJavascriptでは、hoverイベントは存在しません。mouseoverホバーは、ホバーを開始しmouseout、ホバーイベントを停止する結論です。あなたの場合mouseoverはあなたが探しているイベントでなければなりません。

于 2013-01-30T19:17:15.560 に答える
1
$('.slider').mouseenter(function (event) {
    console.log(event.type);
    stopCarousel();
});

$('.slider').mouseleave(function (event) {
    console.log(event.type);
    startCarousel();
});

参照: http: //api.jquery.com/mouseleave/およびhttp://api.jquery.com/mouseenter/

于 2013-01-30T19:20:21.633 に答える