8

jquery でマウスホイールを使用して div の数を増やしています。数値は正しく増加しますが、スクロールは Firefox で停止しません。

$(document).ready(function(){

    $('#test').bind('mousewheel DOMMouseScroll', function(event){

        var currentValue = parseInt($('#test').text(),10),
            newValue = currentValue + 1;

        $('#test').text(newValue);    
        event.preventDefault();
    });
});

フィドル: http://jsfiddle.net/rHVUn/

フィドルは標準のマウスホイール検出を使用しますが、Brandon Aaron のマウスホイール プラグインも使用しましたが、同じ問題があります。

div のテキストを更新する行 (html() も試しました) を削除すると問題は解決しますが、これはコードの重要な部分であり、削除できません。

この問題を解決する方法を知っている人はいますか?

ありがとうございました

更新:マウスがテキストの上に直接配置されている場合にのみ問題が発生することがわかりました.マウスがボックス内にあり、テキストの上にない場合(パディング内)、スクロールが停止します

4

7 に答える 7

1

問題の解決策を見つけました。これは最善の方法ではないかもしれませんが、うまくいきます。

スクロール中にマウスがテキストの上に直接置かれた場合にのみ問題が発生することがわかったので、オーバーレイ要素を追加し、それをマウスホイールトリガーとして使用しました。

Fiddle: http://jsfiddle.net/rHVUn/9/
(背景色は必要ありません)

于 2012-09-10T11:39:37.213 に答える
1

これを試して

$(document).ready(function(){

    $('#test').bind('mousewheel DOMMouseScroll', function(event){

        var currentValue = parseInt($('#test').text(),10),
            newValue = currentValue + 1;

        $('#test').text(newValue);    
        return false;
    });
});
于 2012-09-07T08:50:17.223 に答える
-1

あなたが持っているものの代わりに「マウスホイール」イベントをバインドしようとしましたか? :

$('#test').bind('mousewheel', function(event){ ...

私はあなたのフィドルを適応させました、そしてそれはうまくいくようです

于 2012-09-07T08:26:35.057 に答える