1

プロジェクトの背景に煩わされることはありませんが、トリガー機能を使用してクリックを登録するためのjqueryuiスライダーの取得に問題があります。

基本的に、デザインでは、ラベル(または任意のdom要素)をスライダーの上に配置する必要があります。これは、cssの要素z-indexを微調整することによって行う必要があります。ただし、この要素が上にあり、邪魔になっているため、スライダーをクリックすることはできません。何も登録されません。

問題の詳細を説明するフィドルをここに設定しました。基本的に、両方のスライダーが同じように機能するようにはなりません(ラベルの有無にかかわらず)。

http://jsfiddle.net/adrianjacob/5StND/

参照用のjs:

$("ul > li").each(function () {

    $(this).children('span').slider({
        value: 100,
        min: 0,
        max: 500,
        step: 25
    });

    $(this).on('click', 'label', function (e) {
        var evt = {
            'type': 'click',
            'pageX': e.pageX,
            'pageY': e.pageY
        };
        $(this).siblings('span.ui-slider').trigger(evt);
    });

});

乾杯、アディ。

4

1 に答える 1

0

これは、スパン要素をハンドル内に挿入して、ハンドルに「接続」されたままにするソリューションです。

$(this).children('span')
    .slider({
        value: 100,
        min: 0,
        max: 500,
        step: 25
    })
    .siblings("label")
        .appendTo($(this).find(".ui-slider-handle"))
;

これがjsfiddleへのリンクです

于 2013-03-15T12:11:32.553 に答える