Jquery: केवल "लोड लोड ..." के पहले क्लिक पर अगला पृष्ठ लोड करता है

डीआईवी अगर अंत में पाठ के प्रत्येक क्लिक पर "लोड लोड" पर सामग्री लोड करने की आवश्यकता है। मेरे पास वर्तमान में कोड नीचे है:

<div id="Container"> 
load more

</div>

तथा

$(".load:last").click(function(){
$(".load:last").load("nextPage.php", function() {
$(this).hide();

$("div#Container").append($(this).html());
$("div#Container").append("
load more...

"); });

पहला क्लिक काम करता है क्योंकि यह nextPage.php से अधिक लोड करता है। हालांकि परिणामस्वरूप क्लिक लोड को ट्रिगर नहीं करता है। मैं क्या गलत कर रहा हूं?

0
जोड़ा संपादित
विचारों: 1
आपको $ ("लोड: आखिरी") की आवश्यकता नहीं है क्योंकि आप पिछले लोड को छुपा रहे हैं और इसे केवल $ ("लोड") बनाते हैं। (Function() {...}) पर क्लिक करें;
जोड़ा लेखक Tuscan, स्रोत
मैंने कोशिश की लेकिन एक ही परिणाम के साथ था। मैंने इसके साथ भी प्रयास किया है: आखिरी और कोई छुपा नहीं (), साथ ही साथ नहीं: आखिरी और कक्षा के बजाए एक आईडी के रूप में "लोड" का उपयोग करना, लेकिन इससे कोई फर्क नहीं पड़ता
जोड़ा लेखक zzz, स्रोत

3 उत्तर

    $(".load:last").live('click', function() {
        $(this).remove();
        //Or
       //$(this).hide();
        $(".load:last").load("nextPage.php", function() {
            $("div#Container").append($(this).html());
            $("div#Container").append("
load more...

"); }); });
0
जोड़ा
लाइव का उपयोग करें ......
जोड़ा लेखक Thulasiram, स्रोत
यह मेरे लिए काम करता है, आप दोनों के लिए धन्यवाद! डबल ने मेरी jQuery को चेक किया और बाहर निकला कि मैं 1.6 jQuery का उपयोग कर रहा था, इसलिए .on() ट्रिगर नहीं हुआ लेकिन। लाइव काम किया।
जोड़ा लेखक zzz, स्रोत
लाइव 1.7 के बाद से लाइव को बहिष्कृत किया गया है, यदि आप 1.4+ का उपयोग कर रहे हैं, तो दस्तावेज़ों के बजाय प्रतिनिधि का उपयोग करें: jQuery 1.7 के रूप में, .live() विधि को बहिष्कृत किया गया है। ईवेंट हैंडलर संलग्न करने के लिए .on() का उपयोग करें। jQuery के पुराने संस्करणों के उपयोगकर्ताओं को .delegate() को प्राथमिकता में .live ()। का उपयोग करना चाहिए
जोड़ा लेखक Andreas Wong, स्रोत

Jquery की .live() विधि or.on() का उपयोग करने का प्रयास करें, यह वर्तमान तत्वों से मेल खाने वाले सभी तत्वों के लिए एक ईवेंट हैंडलर को जोड़ता है, जो अब और भविष्य में है।

Click here for information and example for .live event in jquery
I hope this will definitely solve you problem.

शुभकामनाएँ! :)

0
जोड़ा
धन्यवाद दोस्तों, यह सब बहुत उपयोगी है!
जोड़ा लेखक zzz, स्रोत
इस विषय पर प्रकाश डालने के लिए धन्यवाद ... हाँ। live() विधि बहिष्कृत है। .on() उपयोग में है
जोड़ा लेखक Manish Kumar Namdev, स्रोत
लाइव 1.7 के बाद से लाइव को बहिष्कृत किया गया है, यदि आप 1.4+ का उपयोग कर रहे हैं, तो दस्तावेज़ों के बजाय प्रतिनिधि का उपयोग करें: jQuery 1.7 के रूप में, .live() विधि को बहिष्कृत किया गया है। ईवेंट हैंडलर संलग्न करने के लिए .on() का उपयोग करें। jQuery के पुराने संस्करणों के उपयोगकर्ताओं को .delegate() को प्राथमिकता में .live ()। का उपयोग करना चाहिए
जोड़ा लेखक Andreas Wong, स्रोत

divload प्रत्येक बार div # कंटेनर पर नए रूप में संलग्न होने के रूप में, आपको उस .load पर लाइव इवेंट हैंडलर का उपयोग करना चाहिए:

$("div#Container").on('click', '.load', function() {
  $(this).parent('div#Container').load('nextPage.php', function() {
     $('div#Container').append("
load more...

"); }) })
0
जोड़ा
यह किसी कारण से किसी भी भार को ट्रिगर नहीं करता है। मैंने इसके बजाए ऑन() इवेंट हैंडलर के भीतर अलर्ट ("हैलो") के साथ भी कोशिश की, लेकिन "लोड लोड" पर क्लिक होने पर इसे कभी ट्रिगर नहीं किया गया था
जोड़ा लेखक zzz, स्रोत
खेद है कि इसने घटना को ट्रिगर किया - यह काम नहीं कर रहा था क्योंकि मैं 1.6 jQuery का उपयोग कर रहा हूं इसलिए इसका उपयोग करना था। Live ()। इवेंट हैंडलर ठीक वही नहीं करता जो मैं खोज रहा था लेकिन फिर भी मुझे संकल्प खोजने में मदद मिली, धन्यवाद!
जोड़ा लेखक zzz, स्रोत