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 回答