jQuery: Stop onclick looping on appended link -
लूपिंग से यह क्लिक कैसे रोकें?
$ ('ली')। ('क्लिक', फ़ंक्शन () {var तत्व = $ ('। तत्व'), एलकॉंट्स = $ (यह) .closest ('ul')। Attr ('डेटा-काउंटर'), // default = 0 elupdate = संख्या (अलंकृत) +1, // वृद्धि 1 eldata = $ (this) .attr ('data-element') द्वारा गिनती; elements.append ('& lt; div & gt; & lt; a href = "#" & gt; x & lt; एटीआर ('डेटा-काउंटर', एल्पाडेट); तत्वों पर ('क्लिक', 'ए', 'ए', 'ए', 'ए', 'एल्टा +', & lt; / div & gt; '); $ (यह)। फ़ंक्शन () {var ulId = $ (this) .attr ('data-ulsource'), ulelement = $ ('ul #' + ulId), मायने रखता है वर्तमान = ulelement.attr ('डेटा-काउंटर'), // वर्तमान प्राप्त करें काउंटर countsUpdate = संख्या (गणनाएं चालू) -1; // 1 ulelement.attr ('डेटा-काउंटर', गिनती अद्यतन); $ (यह) द्वारा गिनती घटाएं। Parent ()। हटायें (); अलर्ट (गणनाएं अपडेट); // परीक्षण यह वापसी झूठी;})}}
क्लिक करें ली इस तरह दिखाई देता है:
[x] डेटा 1, [x] डेटा 2, [x] डेटा 3 आदि।
निकालने के लिए जोड़ा गया एक एक्स [x] अगर मैंने 3 बार लिन / क्लिक किया है, तो जब मैं [x] में से एक पर क्लिक करता हूँ, तो सतर्क हमेशा 3 गुना दिखाता है, और काउंटर वैल्यू बेतरतीब ढंग से घट जाती है या कुछ और 2,0, -1 आदि। यह कैसे हल करे? या मुझे यहाँ कुछ याद आती है?
आपको इवेंट प्रतिनिधिमंडल को li ईवेंट हैंडलर पर क्लिक करें हर बार जब आप
li
पर क्लिक करते हैं, तो आप एक क्लिक इवेंट को a
से दोहराते हैं, इसलिए looping।
का उपयोग करें
('डेटा') ('क्लिक', फ़ंक्शन () {var तत्व = $ ('। तत्व'), एलेकेंट = $ (यह) .closest ('ul')। Attr ('डेटा- Counter '), // default = 0 elupdate = संख्या (elcounts) + 1, // वृद्धि 1 eldata = $ (this) द्वारा गिनती .attr (' data-element '); elements.append (' & lt; div & gt; & lt ; एआरआर = "#" & gt; x & lt; / a & gt; '+ eldata +' & lt; / div & gt; '); $ (यह)। क्लोज़स्ट (' उल ')। एट्र (' डाटा-काउंटर ', एल्पाडेट); }); $ ('। तत्व')। ('क्लिक', 'ए', फ़ंक्शन () {var ulId = $ (this) .attr ('data-ulsource'), ulelement = $ ('ul #' + ulId) , गणनाएं = ulelement.attr ('डेटा-काउंटर'), // वर्तमान काउंटरों की गिनती अद्यतन करें = संख्या (गणनाएं चालू) - 1; // 1 ulelement.attr ('डेटा-काउंटर', गिनती अद्यतन) द्वारा गिनती घटाई; $ (यह )। Parent ()। निकालें (); चेतावनी (गणनाएं अद्यतन); // इस वापसी झूठी परीक्षण;});
इसके अलावा, मैं आपको .attr ()
की तरह
var countsUpdate = ulelement.data के बजाय उपयोग करने की सलाह देता हूं ( 'काउंटर'); Ulelement.data ('counter', countsUpdate);
Comments
Post a Comment