IE में Script.aculo.us क्रमित करने योग्य onUpdate समस्या

वोट
0

मैं एक परियोजना जहां मैं एक script.aculo.us क्रमित करने योग्य वस्तु का उपयोग कर रहा पर काम कर रहा हूँ।

यह अच्छा और फ़ायरफ़ॉक्स और क्रोम में तेजी से काम करता है, लेकिन IE में यह अविश्वसनीय रूप से धीमी है जब भी मैं एक तत्व छोड़ देते हैं।

मैं एक छोटे से जाँच किया है, और यह IE में, onUpdate कॉलबैक फ़ंक्शन के बारे में 8 बार हर बार जब मैं ड्रॉप कहा जाता हो जाता है कि पता चला है। सामान्य रूप से इसे sortable कंटेनर (गंतव्य और मूल) के अनुसार केवल एक बार कहा जाता है करने के लिए माना जाता है।

मेरी कॉलबैक फ़ंक्शन कुछ तत्वों का आकार बदलता है और उन तत्वों में रेखांकन ड्रॉ के बाद से, गणना प्रत्येक कॉल के लिए शामिल किया गया काफी है।

किसी को भी क्या IE में इस समस्या का कारण हो सकता है, या इसे ठीक करने के पता है?

संपादित करें: मैंने देखा है कि समस्या यह है कि कई कई बार चलाता है जब यह घसीटा जाता है नहीं है, समस्या यह है कि है onUpdateजब भले ही खींचें समाप्त नहीं किया है एक sortable का क्रम बदल गया, समारोह निकाल दिया जाता। ऐसा नहीं है कि लगता है onUpdateवास्तव में की तरह काम कर रहा है onChangeकॉलबैक, लेकिन केवल IE।

25/11/2008 को 21:42
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
1

मैं script.aculo.us के बारे में है, लेकिन आकार बदलने की घटनाओं पर पता नहीं है, IE आग की घटनाओं लगातार, बस नहीं के बाद आकार (सबसे अन्य ब्राउज़रों की तरह करते हैं), इस प्रकार मुझे लगता है कि onUpdate आंतरिक रूप से कुछ और के आधार पर फायरिंग कर रहा है कि अनुमान लगा रहा हूँ (आकार) की तरह कई बार फायरिंग।

एक चाल मैं इसी तरह के मुद्दों के लिए उपयोग किया है, तब होता है जब घटना की आग, "कार्रवाई" समय समाप्त (जैसे 1 / 4sec) के बाद आने के लिए सेट ... लेकिन प्रत्येक नए फायरिंग घटना "को साफ करता है" टाइमआउट ... इसलिए सभी आप "पिछले" घटना है मिलता है।

किसी को क्या script.aculo.us वास्तव में पर ट्रिगर कर रहा है, तो मैं और अधिक स्पष्ट विवरण प्रदान करने में सक्षम हो सकता है।

25/11/2008 को 22:09
का स्रोत उपयोगकर्ता

वोट
1

मुझे लगता है कि कैसे आप टाइमर का उपयोग कर रहे गलत है। आप केवल टाइमर समय समाप्ति के बाद, एक बार ट्रिगर करते हैं। कुछ अभी भी समय समाप्ति के दौरान होने वाला है तो आप टाइमर रीसेट और फिर से शुरू करने की जरूरत है, अन्यथा आप सिर्फ एक ही बात आप पहली जगह में क्या कर रहे थे में देरी कर रहे हैं।

var timer1
Sortable.create("fList", {constraint:false,onChange:function(){triggerUpdate()}})

function triggerUpdate() {
    clearTimeout(timer1)
    window.setTimeout(function(){showList()},800)
}
function showList() {
    var now = new Date()
    alert(now)

}
26/11/2008 को 13:28
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more