Bootstrap Modal Events कई बार आग लगती है, या फिर हमेशा एक और बार आग लगती है। मैं एक क्लिक फ़ंक्शन में मोडल इवेंट लपेटता हूं जो अभी के लिए मोडल आईडी देता है।बूटस्ट्रैप 3.3.2 मॉडल घटनाएं कई बार आग लगती हैं
मैं कैसे सुनिश्चित कर सकता हूं कि ईवेंट हमेशा एक बार आग लगती है, और केवल तभी जब क्लिक फ़ंक्शन ने इसे बुलाया?
jQuery
$('.img-modal').on('click', function() {
// returns #modal-Id
var modalIdClicked = $(this).attr('data-target')
console.log ('modal id clicked from .img-modal = '+ modalIdClicked);
console.log ('.img-modal clicked');
$(modalIdClicked).on('show.bs.modal', function(event) {
console.log ('show.bs.modal');
});
});
डिफ़ॉल्ट बूटस्ट्रैप 3.3.2 मोडल एचटीएमएल
<div class="col-md-7">
<img class="img-modal img-responsive cursor-pointer" data-toggle="modal" data-target="#modal-1" src="www" alt="image">
</div>
<!-- Modal -->
<div class="modal fade top-space-0" id="modal-1" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content cursor-pointer" data-toggle="modal" data-target="#modal-1">
<div class="modal-header">
<button type="button" class="close" data-dismiss="#modal-1">CLOSE ×</button>
<h1 class="modal-title">Modal Title</h1>
</div>
<div class="modal-body">
<div class="img-center">
<img class="img-modal img-responsive" src="wwww" alt="image">
</div>
</div>
<div class="modal-footer">
<a href="#" class="btn btn-default" data-dismiss="modal">Close</a>
</div>
</div>
</div>
</div>
<!-- Modal end -->
मैं jQuery click events firing multiple times और Bootstrap 3 - Remotely loaded modal creates duplicate javascript events पर एक नजर है किया था और यह इस .off
विधि के साथ प्राप्त किया जा सकता है।
तो $(modalIdClicked).off().on('show.bs.modal', function(event) {
का उपयोग करके इस मामले में चाल चल रही थी।
क्या कोई मुझे कृपया समझा सकता है क्यों इस .off
इस मामले में विधि की आवश्यकता है? मुझे समस्या है यह समझने में समस्या है कि क्लिक के आसपास कैसे पारित किया जाता है।
क्या क्लिक प्रत्येक बूट के साथ बूटस्ट्रैप जेएस तक एक और बार पहुंचता है? .off
विधि के बिना घटनाओं को कई बार क्यों आग लगती है?
धन्यवाद।
(मैं एक किताब से jQuery जानने के लिए, अगर वहाँ बाहर किसी भी एक सच में एक अच्छा किताब है या उसमें इस बारे में पढ़ने के लिए कोशिश कर रहा हूँ भी एक और केवल पुस्तक, तो मुझे एक नोट गोली मार कृपया, वहाँ वहाँ बहुत सारे हैं और सभी स्वाभाविक रूप से सबसे अच्छा होने का दावा करते हैं .. धन्यवाद।)
मेरे मामले में, ".off()" रखना था, क्योंकि एक ही मोडल विभिन्न स्थानों से लोड किया गया था। आपके उत्तर के लिए धन्यवाद! –