2010-12-01 16 views
7
$("#accordion").accordion({ 
    change: function (event, ui) { 
     alert('event have to be changed') 
    }, 
    changestart: function (event, ui) { 
     return false; 
    } 
}); 

क्या परिवर्तन ईवेंट रद्द करना संभव है?accordion नियंत्रण के लिए परिवर्तन ईवेंट को कैसे रद्द करें

+2

'event.preventDefault()'? – alex

+0

यह रद्द करने की घटना है लेकिन कार्रवाई अभी भी – Simbian

उत्तर

1
event.preventDefault(); 
event.stopPropagate(); 
+0

नहीं है, यह रद्द करने की घटना है लेकिन कार्रवाई अभी भी – Simbian

+1

'स्टॉपप्रॉपगेशन()', "स्टॉपप्रॉपोगेट()" – earl3s

3

मुझे परिवर्तन के बारे में निश्चित नहीं है, लेकिन jqueryui में अन्य घटनाओं के लिए झूठी वापसी घटना को रद्द कर देती है।

+0

नहीं है क्योंकि यह काम करता है क्योंकि वापसी झूठी 'e.preventDefault(); 'और' 'e.stopPropagation();' – earl3s

3

स्टॉपप्रॉपैगेशन() एक jQueryUI कार्रवाई को प्रोसेसिंग से रोकने की कुंजी है, लेकिन इसे चेंजस्टार्ट ईवेंट से पहले बाधित होना चाहिए। उदाहरण के लिए, जब हेडर आइटम वास्तव में क्लिक किया जाता है।

इस एक हैडर/सामग्री अपने अकॉर्डियन में जोड़ी है:

<h3 class='noexpand'>This is a dummy header</h3> 
<div>This is dummy content</div> 

फिर इस div का विस्तार जब हैडर पर क्लिक होने के अकॉर्डियन पाएगा:

$("h3.noexpand").click(function(e) { 
    e.stopPropagation(); 
}); 

jquery accordion prevent bubbling/allow default link action देखें।

2

जैसा कि मार्टिन ने कहा था कि आप झूठी वापसी कर सकते हैं। नीचे एक कोड नमूना देखें।

... 
eventname: function(event, ui) { 
    // Add your code here 
    ... 

    return false; 
} 
0

झूठी रिटर्निंग jQueryUI में एक घटना आप() घटना पर preventDefault कॉल करने की आवश्यकता को रद्द करने के कुछ नहीं करता है,।

$("#accordion").accordion({ 
    changestart: function (event, ui) { 
     event.preventDefault(); 
    } 
}); 

यह स्वत: पूर्ण सहित सभी ईवेंट विधियों के साथ काम करना चाहिए। यदि आप अपने स्वत: पूर्ण मेनू में कुछ कस्टम विकल्प शामिल करना चाहते हैं, तो आप चाहते हैं कि आप किसी को चुनना चाहते हैं लेकिन वास्तव में उस इनपुट में जोड़ना नहीं चाहते हैं जो इसे बंधे हुए हैं। :)

+0

"इसलिए, ये हैंडलर प्रतिनिधि हैंडलर को event.stopPropagation() या झूठी लौटकर ट्रिगर करने से रोक सकते हैं।" - http://api.jquery.com/event.stoppropagation/ – bitoiu

+0

यह वास्तव में काम नहीं करता है। यह मेरा पहला विचार भी था। – earl3s

0

क्या मेरे लिए काम किया बुला रहा है:

function onChange(e, ui) { 
    e.preventDefault(); 
    e.stopPropagation(); 
} 

समारोह के अंत में false रिटर्निंग ही प्रभावित करते हैं, क्योंकि यह उन दो समारोह कॉल करने के बराबर है है।

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