दिलचस्प पोस्ट
पायथन वर्लेवीनव प्रश्न कोणीय 2 टाइपस्क्रिप्ट नाम नहीं मिल सकते हैं घातक त्रुटि: Python.h: ऐसा कोई फ़ाइल या निर्देशिका नहीं मौजूदा एएसपी.नेट एमवीसी 4 वेब एप्लीकेशन प्रोजेक्ट में वेब एपीआई कैसे जोडें? ओरेकल में तालिका से डुप्लिकेट पंक्तियां निकालना एक इनपुट स्ट्रीम को एक आउटस्टस्टस्ट्रीम से कनेक्ट करना एएसपी.नेट एमवीसी रूटडेटा और एरेज़ ट्रैविस-सीआई को स्थानीय स्तर पर कैसे चलाएं मैं .NET विंडोज फॉर्म अनुप्रयोग कैसे बना सकता हूँ जो केवल सिस्टम ट्रे में चलाता है? जीएनयू लिंकर मानचित्र फ़ाइल अप्रत्याशित लोड एड्रेसिंग दे रही है SQL सर्वर में एक साथ दो तालिकाओं में डेटा कैसे सम्मिलित कर सकता हूं? स्विफ्ट 2 (executeFetchRequest): त्रुटि हैंडलिंग मैं गतिशील रूप से ऊँचाई div में कैसे केंद्र को खड़ी कर सकता / सकती हूं? UIWebView "लंबवत" से खड़ी हो? कैसे सी में एक trie बनाने के लिए #

jQuery .add () / .ajax () संलग्न HTML में जावास्क्रिप्ट क्रियान्वित नहीं करने के बाद

मैंने कुछ HTML प्राप्त करने के लिए .load() और $.ajax का उपयोग करने की कोशिश की है, जिसे किसी कंटेनर में जोड़ा जाना चाहिए, लेकिन लौटा हुआ HTML के भीतर जावास्क्रिप्ट क्रियान्वित नहीं किया जा रहा है, जब मैं इसे किसी तत्व से जोड़ता हूं

.load() का उपयोग करना:

 $('#new_content').load(url+' #content > *',function() { alert('returned'); }); 

मैंने भी $। एजेक्स कॉल करने की कोशिश की है। मैंने फिर से लौटा हुआ HTML से स्क्रिप्ट को निकाला, जिसके बाद मैंने उसे कंटेनर में जोड़ा, लेकिन एक ही समस्या, जेएस को निष्पादित नहीं किया जा रहा है या यहां तक ​​कि इस मामले में संलग्न नहीं है, और जैसा कि मैं समझता हूं, एक <script> को जोड़ने की कोशिश कर रहा हूं इस तरह एक DOM तत्व पर frowned है?

$.ajax का उपयोग करना:

 $.ajax({ url: url }).done(function(response) { var source = $("<div>").html(response).find('#overview_script').html(); var content = $("<div>").html(response).find('#content').html(); $('#new_content').html(content); $('<script>').appendTo('#new_content').text(source).html(); }); 

आदर्श रूप से मैं कॉलबैक में इस जावास्क्रिप्ट को चलाने के बाद HTML को जोड़ता हूं, लेकिन वैर को उन मानों पर सेट किया जा रहा है जो एक नियंत्रक से वापस आते हैं।

तो संक्षेप में, मैं कुछ एचटीएमएल प्राप्त करने की कोशिश कर रहा हूं जिसमें जेएस शामिल होता है, जिसे एचटीएमएल के बाद चलाया जाना चाहिए, लेकिन मेरे पास कोई भाग्य नहीं है। .load() या $.ajax() लौटे हुए HTML में स्क्रिप्ट के रूप में या तो इसे जोड़ने पर गायब हो जाता है, या यह बिल्कुल भी निष्पादित नहीं करता है।

Solutions Collecting From Web of "jQuery .add () / .ajax () संलग्न HTML में जावास्क्रिप्ट क्रियान्वित नहीं करने के बाद"

जब एक टुकड़ा चयनकर्ता के साथ load() का प्रयोग किया जाता है तो टुकड़ा जोड़ा जाने से पहले स्क्रिप्ट तत्व छीन लिया जाएगा, इस प्रकार स्क्रिप्ट को निष्पादित नहीं किया जाएगा ।

जब एक suffixed selector अभिव्यक्ति के बिना एक यूआरएल का उपयोग कर .load () को कॉल किया जाता है, तो सामग्री को हटाया जाने से पहले .html () को पारित किया जाता है। यह स्क्रिप्ट ब्लॉकों को निष्कासित होने से पहले निष्पादित करता है। यदि .load () को यूआरएल से जुड़ी एक चयनकर्ता अभिव्यक्ति के साथ बुलाया जाता है, हालांकि, एसओएम को अद्यतन करने से पहले लिपियों को छीन लिया जाता है, और इस प्रकार निष्पादित नहीं किया जाता है। दोनों मामलों का एक उदाहरण नीचे देखा जा सकता है:

इसलिए कोशिश करें

 $.get('partial.html', function(result){ $result = $(result); $result.find('#content').appendTo('#new_content'); $result.find('script').appendTo('#new_content'); }, 'html'); 

डेमो: बेलाल

यदि आप जानते हैं कि स्क्रिप्ट क्या है जिसे आप निष्पादित करना चाहते हैं, तो आप अजैक्स प्रतिक्रिया से कहीं और स्क्रिप्ट को परिभाषित कर सकते हैं, और फिर उसे कॉलबैक से कॉल कर सकते हैं। इसके बजाय:

 $('#new_content').load(url+' #content > *',function() {alert('returned');}); 

आप उपयोग कर सकते हैं

 $('#new_content').load(url+' #content > *',function() {my_function(my_param);}); 

इस कोड के बारे में,

 $('#new_content').append($('<script>').html(source)); 

या आप बस अपनी जावास्क्रिप्ट सामग्री को अलग करने के लिए फ़ाइल को अलग कर सकते हैं और इसे लोड करके उपयोग कर सकते हैं

 $.getScript("url to js file"); 

या बस का उपयोग करें,

 eval(source);