2009-11-24 13 views
5

मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जहां मैं वर्ड दस्तावेज़ उत्पन्न कर सकता हूं, कार्यक्षमताओं में से एक सामग्री की एक तालिका को परिभाषित करना है। मैं चाहता हूं कि मेरे टीओसी अध्यायों को क्रमबद्ध करने के लिए एक क्रमबद्ध jQuery सूची बनें।jQuery अप्रत्याशित क्रमबद्ध व्यवहार

मैं एक MySQL तालिका से रिकर्सिवली डेटा को पुनः प्राप्त कर रहा हूं, जो अपेक्षित कार्य करता है। चूंकि मैंने पाया कि आईई 7 (और संभवतः अन्य संस्करणों) में कुछ अजीब व्यवहार हैं, मैंने मूलभूत बातों पर वापस स्विच किया और किसी भी डीबी-जेनरेटेड संरचना के बिना एक साधारण HTML फ़ाइल में निम्नलिखित की कोशिश की।

<!doctype html> 
<html> 
<head> 
<script type="text/javascript" src="./jquery-1.3.2.js"></script> 
<script type="text/javascript" src="./ui/jquery-ui-1.7.2.custom.min.js"></script> 
<script type="text/javascript"> 
    $(function() { 
    $("ul.list").sortable({ 
     opacity: 0.7, 
     helper: 'clone', 
     cursor: 'move', 
     tolerance: 'pointer' 
    }); 
    $("ul.list").selectable(); 
    $("ul.list").disableSelection(); 
}); 
</script> 
<style type="text/css"> 
ul.list { 
    list-style:none; 
    padding:none; 
    margin:none; 
    border:1px solid #EFEFEF;} 
ul.list:hover { 
    border:1px dotted #333;} 
</style> 
</head> 
<body> 
    <ul class="list"> 
    <li>Chapter 1</li> 
    <li>Chapter 2 
     <ul class="list"> 
     <li>Chapter 2.1</li> 
     <li>Chapter 2.2</li> 
     </ul> 
    </li> 
    </ul> 
</body> 
</html> 
इस स्रोत (कोई बात नहीं sublevels की मात्रा) मैं हर subchapter अपनी मूल अध्याय के भीतर एक अद्वितीय sortable सूची होने की उम्मीद के साथ

। फ़ायरफ़ॉक्स में यह काम करता है जैसा कि इसे करना चाहिए, लेकिन दुर्भाग्य से काम पर आईई 7 डिफ़ॉल्ट ब्राउज़र है और कोई स्विच नहीं किया जा सकता है।

क्या किसी के पास कुछ सुझाव हैं कि क्या करना है?

मूल रूप से मैं केवल सूचियों और नेस्टेड सूचियों को पुनर्गठित करना चाहता हूं। इस पल में मैं केवल मेनचैप्टर के चारों ओर खींचने में सक्षम हूं, जब मैं एक सबचैप्टर खींचने की कोशिश करता हूं तो संबंधित अभिभावक से संपूर्ण सूची-संरचना ड्रैग हो रही है। इसलिए, जब मैं इसे 'अध्याय 2.1' से ऊपर रखने के लिए 'अध्याय 2.2' खींचने की कोशिश करता हूं, तो मैं वास्तव में 'अध्याय 2' को खींचने के लिए केवल 'अध्याय 2' खींच रहा हूं, इसे 'अध्याय 1' से ऊपर खींचने के लिए एकमात्र सकारात्मकता के साथ।

मुझे आशा है कि मेरा प्रश्न पर्याप्त स्पष्ट होगा।

Here's a Demo. ऐड /edit यूआरएल के लिए कोड को देखने और इसके साथ खेलने के लिए

+4

आपके लिए एक डेमो जोड़ा गया ताकि लोग आई 77 –

+0

में समस्या देख सकें धन्यवाद !, मैंने आपको डेमो ऑनलाइन डालने के लिए +1 दिया है। मैं यहां दर्जनों फ़ायरवॉल के पीछे हूं, इसलिए मैं ऐसा करने में सक्षम नहीं था। डेमो वास्तव में पूरी तरह से दिखाता है कि क्या गलत हो रहा है। – Ben

+0

@Russ कैम: jsbin अच्छा है :) – Xinus

उत्तर

19

बस इस

$('ul.list').bind('mousedown', function(e) { 
    e.stopPropagation(); 
}); 

इस ऐड माता पिता ul, जिसकी वजह से करने के लिए mousedown घटना खलबली मचाने वाले से आईई बंद हो जाएगा अजीब क्रमबद्ध व्यवहार आपने देखा है। अब यह उम्मीद करनी चाहिए

+1

धन्यवाद! वास्तव में यह चाल है! +1 + स्वीकार करें! एक बार फिर धन्यवाद! – Ben

+1

मैन, जिटर, आपने अभी अपना दिन बचाया! +1 –

+1

+1 इसके अलावा मैं जिस फिक्स के लिए गया हूं। –

संबंधित मुद्दे