ट्रिगर करें मैं jQuery-UI के draggable
विजेट के साथ इसे तारों के तुरंत बाद drag
ईवेंट को ट्रिगर करने की कोशिश कर रहा हूं। मेरे पास कुछ कोड है जो इसे खींचने पर बंद हो जाता है, और मैं पृष्ठ लोड के ठीक बाद एक बार यह कोड भी चलाने के लिए चाहता हूं। मैं कभी कभी इस तरह एक मुहावरा का उपयोग अन्य jQuery संचालकों पर ऐसा करते हैं:प्रोग्रामेटिक रूप से एक jQuery-UI ड्रैगगेबल की "ड्रैग" ईवेंट
$('.foo').on('bar', function() {
console.debug('bar!');
}).trigger('bar');
यह draggable
के साथ काम करने लगता है। यहाँ मेरी कोड है:
var draggable = $('[draggable]').draggable({
drag: function(event, ui) {
//do some stuff
console.debug(event);
}
}).trigger('drag');
drag
हैंडलर कहा जाता हो जाता है जब मैं खींचें, लेकिन पृष्ठ लोड पर नहीं।
जानकारी प्रासंगिक हो सकता है कि:
जब मैं आइटम खींचें, घटना है कि कंसोल में दिखाई देता है इस तरह दिखता है:
jQuery.Event { type: "drag", target: div#myElementId.ui-draggable, currentTarget: document, delegateTarget: document, data: null, //lots of other properties }
मैं विभिन्न की कोशिश की है समायोजन, और कुछ भी काम नहीं किया है:
- का उपयोग करनानिर्माता और मैन्युअल रूप से ऊपर गुण
- सटीक तत्व मैं
document.getElementById
- ट्रिगर
mousedown
याdrag
के बजायmousedown.draggable
साथ चाहते हैं निर्दिष्ट की स्थापना
(यह कुछ वैकल्पिक हल कोड मैंने पाया पर आधारित था) हां, मुझे एहसास है कि मैं केवल हैंडलर को अलग से परिभाषित कर सकता हूं। कारण यह है कि मैं ऐसा करना चाहता हूं
ui
पैरामीटर तक पहुंच प्राप्त करना, जो मुझे तत्व की स्थिति और ऑफसेट प्राप्त करने का एक आसान तरीका प्रदान करता है। मैं उन्हें अन्य तरीकों से ढूंढ सकता हूं, लेकिन यह कष्टप्रद है। मैं भी उत्सुक हूं कि यह क्यों काम नहीं करता है।Google और एसओ पर खोजों ने कोई समाधान नहीं किया है, केवल कामकाज जो मेरे लिए प्रासंगिक नहीं हैं, साथ ही एक ही समस्या के बारे में अन्य शिकायतों के साथ। Jörn Zaefferer from the jQUI team recommended the jQuery.simulate plugin एक कामकाज के रूप में, तो यह संभव नहीं हो सकता है। यह अजीब लगता है कि वे इसे अन्य jQuery घटनाओं के साथ संगत नहीं बनाएंगे।
जस्टिन का उपयोग है, मैं वही काम करना चाहते हैं, क्या आपने किया था इसे ठीक करो? धन्यवाद – dav
@dav - नहीं। प्लगइन द्वारा असमर्थित प्रतीत होता है। जैसा कि आपने अपने उत्तर में सुझाव दिया है, या प्लगइन कोड को कस्टमाइज़ करना होगा, आपको शायद jquery.simulate का उपयोग करना होगा। –
हाँ मैंने टिप्पणी की थी और कुछ समय बाद ही प्लगइन मिला)) – dav