0

bootstrap-sliderの一部である DOM 要素を選択できることに問題があると思います。などのイベントでそれらをターゲットにしようとするとclick、何も発生しません。

ページを更新すると、すべてのイベントが適切に発生します。なぜこのようなことが起こるのでしょうか?

$(document).on("page:change", function() {
    $(".slider-handle")
        .on("mousedown", function() {
            console.log("FOCUSED")
            $(".active-handle").removeClass("active-handle");
            $(this).addClass("active-handle");
        })
        .on("mouseup", function() {
            console.log("REMOVED")
            $(this).removeClass("active-handle");
            $(".active-handle").removeClass("active-handle");
        })
        .on("click", function() {
            console.log("REMOVED")
            $(this).removeClass("active-handle");
            $(".active-handle").removeClass("active-handle");
        })
4

1 に答える 1

1

読み込み時に要素が表示されない場合、jQuery はイベント ハンドラーを割り当てることができません。これを試して:

$(document).on("mousedown", ".slider-handle", function() {

パフォーマンスを向上させるにdocumentは、永続的な祖先要素に置き換えます。

于 2016-09-12T20:58:05.110 に答える