2013-08-19 27 views
0

我有一個jQuery可選列表,它有一個句柄可以從一個列表中選擇一個項目,並將它放入另一個「選定」列表中。這在Firefox中運行良好,但在Chrome和IE中完全不起作用。我無法點擊某個項目將其移至選定列表。在Firefox中查看我的小提琴,它工作正常,然後在IE或Chrome中查看它,注意它不再按預期工作。 (單擊加號將列添加到選定列表中)。jQuery Selectable不能在IE或Chrome中工作

jQuery代碼移動到選定的名單:

$(function() { 
     $(".list") 
     .find("li") 
     .addClass("ui-corner-all") 
     .prepend("<div class='handle'><span class='ui-icon ui-icon-plus'></span></div>") 
     .selectable({ 
      handle: ".handle", 
      stop: function() { 
       var result = $("#select-result"); 

       $("ul li div").click(function() { 
        var index = $("ul li div").index(this); 
        var listLiText = $("ul.list li").eq(index).text(); 
        var listLiID = $("ul.list li").eq(index).attr('id'); 

        $("ul.list li").eq(index).css('background-color', '#669966'); 
        $("ul.list li").eq(index).css('color', '#FFFFFF'); 

        if ($("#select-result #" + listLiID).length == 0) { 
         result.append('<li id="' + listLiID + '">' + listLiText + '</li>'); 
        } 
        sortColumns(); 
       }); 
      } 
     }); 
    }); 

JS小提琴(首先嚐試在FF然後在IE或Chrome): http://jsfiddle.net/kmbonin82/NkgC2/17/

回答

0

我發現你的問題:你已經「停止」可選擇的點擊事件後使用「點擊」。停止可選的點擊後,您無法點擊。如果您註釋掉點擊,如下所示,那麼它會修復您的主要問題。然後,您需要將選擇器從「ul li div」更改爲「.list li」,因爲您沒有從「列表」中進行選擇。

stop: function() { 
    var result = $("#select-result"); 

    //$(".list li").click(function() { -----------PROBLEM----------- 
     var index = $(".list li").index(this);    //Changed to .list li 
     var listLiText = $(".list li").eq(index).text(); //Changed to .list li 
     var listLiID = $(".list li").eq(index).attr('id'); //Changed to .list li 

     $(".list li").eq(index).css('background-color', '#669966'); //Changed to .list li 
     $(".list li").eq(index).css('color', '#FFFFFF'); //Changed to .list li 

     if ($("#select-result #" + listLiID).length == 0) { 
      result.append('<li id="' + listLiID + '">' + listLiText + '</li>'); 
     } 
     sortColumns(); 
    //}); 
} 

你更新JS小提琴:http://jsfiddle.net/NkgC2/30/

0

您的代碼頁後應執行已準備就緒:

(function($) { 
    $(document).ready(function() { 
     // your code here 
    }); 
})(jQuery); 
+0

仍然有它同樣的問題在Chrome或IE瀏覽器無法正常工作,甚至加入這個代碼在我的代碼之後。 http://jsfiddle.net/kmbonin82/NkgC2/29/ – KMBonin

相關問題