यह प्रश्न वर्डप्रेस से सेमी-संबंधित है, लेकिन इसमें कहीं और अनुप्रयोग हैं। असल में, मैं इसे बनाने की कोशिश कर रहा हूं जब कोई थिकबॉक्स से बाहर निकलता है, तो यह पृष्ठ पर कहीं और एक ईवेंट ट्रिगर करता है। थिकबॉक्स फ़ाइल को संपादित करना एक विकल्प नहीं है।जब कोई मोटीबॉक्स बंद हो जाता है तो आप किसी ईवेंट को कैसे ट्रिगर करेंगे?
उत्तर
यह थोड़ा जटिल है क्योंकि थिकबॉक्स इस तरह से लिखा नहीं गया है। लेकिन शायद आप इसे करने के लिए कुछ चाल का उपयोग कर सकते हैं।
यह अनुशंसित समाधान नहीं है लेकिन आप करीबी फ़ंक्शन को "पुनः लिख सकते हैं"। कुछ की तरह:
var old_tb_remove = window.tb_remove;
var tb_remove = function() {
old_tb_remove(); // calls the tb_remove() of the Thickbox plugin
alert('ohai');
};
वर्क्स \ o/http://jsfiddle.net/8q2JK/1/
मुझे लगता है कि आप हैक कर सकते हैं कि बंद करें बटन के लिए क्लिक करें हैंडलर जुड़ कर:
$("#TB_closeWindowButton").click(function() {
doSomething();
});
आपके पास एक विकल्प है, तो मोटीबॉक्स से छुटकारा पाएं (क्योंकि यह अब बनाए रखा नहीं गया है) और अधिक सक्रिय समुदाय के साथ कुछ उपयोग करें। मोटाबॉक्स साइट, वास्तव में, proposes some alternativesmirror।
मैंने उसे बताने के बारे में सोचा था, लेकिन उसे मोटीबॉक्स को बंद करने के लिए उपयोग किए जाने वाले सभी तत्वों को रिबंड करना होगा (बंद बटन, ओवरले और एस्पेस कीप्रेस पर क्लिक करें) –
लेकिन विकल्प पर +1 :) –
Ah - मुझे यह देखना चाहिए था। यदि यह ब्याज की बात है, तो मुझे यहां से बंद बटन पर हैंडलर विचार क्लिक करें: http: // designerfoo।com/jquery-thickbox-hack-to-refresh-parent-window-on-tb_close-event.html – karim79
आप "tb_unload" पर श्रोता को बांध सकते हैं जो मोटाबॉक्स बंद होने पर ट्रिगर करता है। jQuery का उपयोग कर उदाहरण:
<input id="tb_button" type="button" value="Click to open thickbox" />
jQuery('#tb_button').on('click', function(){
tb_show('This is Google in a thickbox', 'http://www.google.com?TB_iframe=true');
jQuery('#TB_window').on("tb_unload", function(){
alert('Triggered!');
});
}
यह वास्तव में एक अच्छा जवाब है। लेकिन, tb_unload स्रोत कोड में फ़ंक्शन नहीं है जो मोटेबॉक्स के होम पेज पर इंगित करता है। लेकिन यह वर्डप्रेस के संस्करण में है। इसे इंगित करने से मदद मिल सकती है। साथ ही, यह एक इनपुट तत्व नहीं, मोटाबॉक्स ट्रिगर करने के लिए एक 'तत्व' तत्व है। अंत में, उदाहरण काम नहीं करता है क्योंकि Google इस तरह से लोड होने पर रोक लगाता है। Tb_unload ईवेंट। शायद एक jsfiddle या codepen उदाहरण। –
Thickbox 3.1 पर, मैं thickbox-fixed.js अंदर जाना होगा और अपने आप के लिए एक कस्टम समारोह जोड़ देगा
सिर्फ एक कॉलबैक फ़ंक्शन जोड़ने के लिए, यकीन नहीं एक अच्छा है रास्ता, लेकिन मेरे प्रोजेक्ट के लिए इसका काम।
function mycustom_tb_remove(callback) {
$("#TB_imageOff").unbind("click");
$("#TB_closeWindowButton").unbind("click");
$("#TB_window").fadeOut("fast",function(){
if(callback)callback();
$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();
});
$("#TB_load").remove();
if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
$("body","html").css({height: "auto", width: "auto"});
$("html").css("overflow","");
}
document.onkeydown = "";
document.onkeyup = "";
return false;
}
तो जब मैं अपने कस्टम निकालने के फ़ंक्शन का उपयोग करता हूं। मैं इसे इस तरह इस्तेमाल करूंगा।
self.parent.mycustom_tb_remove(function(){
alert("Closed");
});
आप कुछ इस तरह की कोशिश कर सकते हैं ...
var tb_unload_count = 1;
$(window).bind('tb_unload', function() {
if (tb_unload_count > 1) {
tb_unload_count = 1;
} else {
// do something here
tb_unload_count = tb_unload_count + 1;
}
});
tb_unload
शुरू हो दो बार तो यह भी शामिल है एक हैक का एक सा सुनिश्चित करें कि आपके कोड दूसरी बार नहीं चलता है बनाने के लिए किया जाता है।
- 1. जावास्क्रिप्ट में, जब कोई चर का मान बदल जाता है तो ईवेंट को ट्रिगर कैसे करें?
- 2. ईवेंट जब इंस्टॉल हो जाता है (एंड्रॉइड)
- 3. जब ब्राउज़र बंद हो जाता है तो Omniauth सत्र समाप्त हो जाता है
- 4. जब उपयोगकर्ता को यूआई दिखाया जाता है तो ईवेंट?
- 5. जब बच्चे का फॉर्म बंद हो जाता है तो माता-पिता का फॉर्म बंद हो जाता है
- 6. जब माउस जारी किया जाता है तो Comboboxes अप्रत्याशित रूप से बंद हो जाता है
- 7. जेपीओपअपमेनू बंद हो जाता है जब बच्चे पॉपअप खुलता है
- 8. क्या कोई ऐसा ईवेंट है जो अपवाद होने पर ट्रिगर हो जाता है?
- 9. jQuery: जब कोई div दृश्य में आता है तो मैं किसी ईवेंट को कैसे ट्रिगर कर सकता हूं?
- 10. एंटिटी फ्रेमवर्क जब डेटाटेडर बंद हो जाता है तो 'पढ़ें' को कॉल करना
- 11. जब भी ब्राउज़र asp.net में बंद हो जाता है, तो सत्र को साफ़ करना संभव है?
- 12. जब कोई उपयोगकर्ता लोड लोड बटन बंद करता है तो कोई जावास्क्रिप्ट ईवेंट होता है?
- 13. जब कोई पृष्ठभूमि क्षेत्र क्लिक किया जाता है तो एक WPF पॉपअप बंद क्यों होता है?
- 14. जब "अनइंस्टॉल करें ..." बटन अक्षम हो जाता है तो
- 15. डीबग क्षेत्र एक्सकोड में बंद हो जाता है जब एप
- 16. जब कोई डेवलपर ऐप नाम बदलता है, तो क्या पुराना एक उपलब्ध हो जाता है?
- 17. क्या कोई जावास्क्रिप्ट ईवेंट है जो ट्रिगर करता है जब कोई HTML तत्व स्क्रॉल करता है?
- 18. जब आप उस पर क्लिक करते हैं तो टेक्स्ट साफ़ हो जाता है
- 19. डिज़ाइन प्रश्न: आप आवर्ती ईवेंट सिस्टम कैसे डिज़ाइन करेंगे?
- 20. केवल एप्लिकेशन WillResignActive कहा जाता है जब आईफोन बंद हो जाता है?
- 21. जब सूची ListView में आइटम जोड़ा जाता है तो ईवेंट निकाल दिया जाता है?
- 22. अनंत CABasicAnimation बंद हो जाता है
- 23. जब कोई अन्य मार्कर क्लिक किया जाता है तो infowindow बंद करें
- 24. जब कोई कार्य चलाना समाप्त हो जाता है तो मुझे ग्रहण कर सकते हैं?
- 25. जब कोई कुंजी दबाया जाता है तो ध्वनि चलाएं
- 26. जब आप कोई प्रोग्राम चलाते हैं तो क्या होता है?
- 27. ड्रॉप डाउन से चुनना (ब्राउज़र कैश ड्रॉप डाउन) - कौन सा ईवेंट ट्रिगर हो जाता है?
- 28. जब कोई ऑब्जेक्ट स्कोप से बाहर हो जाता है तो कोड चलाया जा सकता है .Net?
- 29. UITableView जब UISearchbar फोकस हो जाता है तो वास्तविक तालिका को "मंद" कैसे करें?
- 30. यूटेक्स्टफील्ड साफ़ हो जाता है जब हटाया जाता है
कोड के लिए धन्यवाद। इसके साथ एक समस्या मिली: छवि अपलोड मोटाबॉक्स tb_remove फ़ंक्शन को कई बार कॉल करने लगता है, जिससे मेरे कस्टम tb_remove फ़ंक्शन में कोड कई बार कहा जाता है। इस से लड़ने के तरीके पर कोई विचार? –
हमम ... मैं इसे ठीक करने का एक तरीका खोजने का प्रयास करूंगा। अगर मुझे कुछ मिल जाए तो टिप्पणी करेंगे ... बीटीडब्ल्यू क्या आप दूसरी लाइब्रेरी का उपयोग कर सकते हैं? –
मेरे पास कुछ कोड है जो वर्डप्रेस में समस्या को पुन: उत्पन्न करता है: [link] (http://wordpress.stackexchange.com/questions/18216/issue-with-code-manipulating-the-image-upload-thickbox)। मैं वर्डप्रेस के इनबिल्ट छवि अपलोडर मोटीबॉक्स का उपयोग करने की कोशिश कर रहा हूं लेकिन मैं इस मुद्दे में भाग रहा हूं। –