0

スライダーを使用して値を変更するたびに通知を表示します。最初の変更では 1 つの通知が作成されますが、その後は 1 つではなく複数の通知が作成されます。これを止める方法はありますか?以下に私のコードを含めてくれてありがとう。

スライダーが移動するたびに、このイベントが発生します。

$("#single-slider").on({

        change: function () {
            $("#single-slider").Link('lower').to(Notification);
        }
    });

以下に示すように、値を渡してメッセージを表示できる通知機能にバインドされています。

function Notification(value, type) {
console.log(value);
var tFormat = value;
$.jGrowl(' Refresh rate for ' + type + ' changed to ' + tFormat, { life: 10000, header: '<i class="fa fa-comment-o fa-2x"></i>' });

}

ただし、1 つの通知を作成する代わりに、複数の通知を作成しています。

4

1 に答える 1

0

投稿したコードは問題ありません ( http://jsfiddle.net/2py6oz04/ )。リスナーを複数回追加している可能性があります。

使ってみて

$('#single-slider').off("change");

$("#single-slider").on({
    change: function () {
        $("#single-slider").Link('lower').to(Notification);
    }
});

ここに見られるように: http://jsfiddle.net/2py6oz04/1/ リスナーを追加し、それを削除して再度追加します。行を削除すると、 off2 つのアラートが表示されます。

また、の前に console.log() を追加して、追加$("#single-slider").onされた回数を記録します。理想的には、既存のリスナーをオフにするだけでなく、根本的な問題を解決する必要があります。

于 2014-12-11T15:57:15.840 に答える