2009-08-23 27 views
1

私はクリックでjQuery UI Sliderのdivを開き、ユーザーがハンドルをドラッグして値を設定することができますイメージを持っています。私が今やろうとしていることは、ユーザーがページ上の他の場所クリックしたときに、そのハンドルを非表示にしているが、通常の.blurイベントが動作するようには思えません。jQuery UI Sliderをぼかしで非表示にするにはどうすればいいですか?

答えて

0

[OK]をサポートしていませんが、これは私がこの作品を作るために一緒に入れているものです。 Thanx DroidIn.netあなたの助けになります。

$(document).bind("click", function(e){ 
     if(e.target.id != "openPriceToSliderGif") 
     $("#slider-vertical").hide(); 
     return false; 
    }); 

    $("#openPriceToSliderGif").click(function(){ 
     $("#slider-vertical").toggle(); 
    }); 
1

おそらく、あなたはグローバルonclickハンドラを定義する上でより良い運があります。イベントのソースがあなたのスライダでないかどうかを確認する必要があります。もしそうでなければ - あなたの魔法をやる。

は、基本的には - あなたは、このようなテキストフィールドとして要素を含んでいないスピナー、リンクしている場合、それはフォーカス/ぼかし

+0

私はこの権利を取得する場合、私はSEましょう。 あなたが言っていることは、ページ上のどこかをクリックするたびに関数がトリガされるはずです。私のスライダーが表示されるべきである私のgifのクリックが起こらない限り、私はスライダーを隠すべきですか? 私はこのコードを思い付いたしかし、私は上のクリックした要素のidを見つける問題を抱えています。 $(this).id!は明らかに機能していません。 $(this.document).click(function(){ if($(this))!id!= $( "#openPriceToSliderGif")。id) $( "#hiddenPriceTo")。hide(); }); – Leon

+0

ます(詳細については、このページを読んでhttp://is.gd/2wxvy)、( "クリック"、機能(E){})slider.bindを使用する必要があります。今、無名関数にはイベント(http://is.gd/2wxAg)というeパラメータがあります。このパラメータには、クリックがどこで発生したかを示すさまざまな有用な情報が含まれています。基本的には、この方法は「ウィンドウのどこにでもクリックしてください」という意味です。あなたがあなたのロジックを完了したときにそれ以上の処理をしたくない場合は、ハンドラ関数からfalseを返すだけです。 – Bostone

+0

ありがとうございます。私はあなたの答えを投票しようとしましたが、少なくとも評判が15である必要があります。後で投票します) – Leon

関連する問題