2012-11-14 15 views
5

最近jquery UIとオートコンプリートプラグインが更新されましたが、新しいバージョンではマウスクリックでオプションを選択することはできません。上下の矢印。マウスクリックによる選択を再び有効にするにはどうすればよいですか?Jquery UIオートコンプリートでマウスでオプションを選択できない

ところで新バージョンは1.9.1で、古いバージョンは1.8.2

+0

でも、UI 1.9.1ではマウスで選択できます。ここの例を試してみてください:http://jqueryui.com/autocomplete/いくつかのコードを投稿できますか? – Elliott

+0

こんにちはElliott - デモは正しく動作していますが、私がプラグインを使用している2ページでは、マウスでは選択できません。どこかの紛争でなければならない。私がチャンスを得たら、それを引き起こしているものを見てバグとして提出します。 – coalvilledave

+0

任意のコードを提供できますか? – Dom

答えて

4

私の場合は、マウスの選択機能は時代遅れ第三者jQueryプラグインで無効にしました。このスレッドでは、何が間違っているのかが分かりました。http://forum.jquery.com/topic/autocomplete-click-to-select-item-not-working-in-1-9-1

古いバージョンのjquery検証プラグイン(https://github.com/jzaefferer/jquery-validation)を使用していました。私は違う行為を引き起こしていたものを見るために別のプラグインを無効にした。

+0

ありがとうございましたbubblez、それは私のためにそれを固定しました。あなたは私の時間を節約しました:) –

+0

私のために、bodyのクリックでstopPropagation()の呼び出しであることが判明しました。 $( "body")click(function(e){e.stopPropagation()};このようなコードを探し、stopPropagation()をコメントアウトする。 – Asmussen

+0

ありがとう、それが修正された –

1

は私もファイルにソースコードを確認する時間1.11.4

で利用できるjqueryの-UIの最新バージョンを使用して、同じ問題を持っていましたjqueryの-ui.jsは、私はこのような作品を見つけました:

"click .ui-menu-item": function(event) { 
        var target = $(event.target); 
        if (!this.mouseHandled && target.not(".ui-state-disabled").length) { 
         this.select(event); 

         // Only set the mouseHandled flag if the event will bubble, see #9469. 
         if (!event.isPropagationStopped()) { 
          this.mouseHandled = true; 
         } 

問題がtruemouseHandled VARセットです。しかし、それは、event伝播が停止していない場合にのみ発生します。

だから、解決策として、私はこのように私のオートコンプリートを定義した:それは私のために働い

$('.autocomplete').autocomplete({ 
    source: ['value1','value2','value3','value4'], //my source 
    select: function(event, ui){ 
    event.stopPropagation(); //the select event will work next time you click 
    //your logic comes here ... 
    } 
}) 

は、私はそれがあなたのために働く願っています! =)

関連する問題