जवाबों:
पुराना रास्ता (पूर्व 1.7):
$("...").attr("onclick", "").unbind("click");
नया तरीका (1.7+):
$("...").prop("onclick", null).off("click");
(बदलें ... आप की जरूरत चयनकर्ता के साथ।)
Removing an inline onclick event handler using .removeAttr() doesn't achieve the desired effect in Internet Explorer 6, 7, or 8. To avoid potential problems, use .prop() instead
.prop()
IE11 के लिए भी उपयोग करना था ।
मुझे पता है कि यह काफी पुराना है, लेकिन जब एक खोए हुए अजनबी को यह प्रश्न उत्तर की तलाश में मिलता है (जैसे मैंने किया) तो यह हटाने का सबसे अच्छा तरीका है, इसके बजाय हटाने का उपयोग करें ():
$element.prop("onclick", null);
आधिकारिक jokus का हवाला देते हुए :
"। इनक्वायरी ईवेंट हैंडलर का उपयोग करके .removeAttr () को हटाने से इंटरनेट एक्सप्लोरर 6, 7, या 8 में वांछित प्रभाव प्राप्त नहीं होता है। संभावित समस्याओं से बचने के लिए, .prop () के बजाय" का उपयोग करें।
<span onlick="method()">sometext>/span>
घटना पूरी तरह से
onclick
संपत्ति निकालनामान लीजिए कि आपने अपना क्लिक ईवेंट इनलाइन जोड़ा, जैसे:
<button id="myButton" onclick="alert('test')">Married</button>
फिर, आप इस तरह की घटना को दूर कर सकते हैं:
$("#myButton").prop('onclick', null); // Removes 'onclick' property if found
click
ईवेंट श्रोताओं को हटानामान लीजिए कि आपने किसी इवेंट श्रोता को परिभाषित करके अपना क्लिक ईवेंट जोड़ा, जैसे:
$("button").on("click", function() { alert("clicked!"); });
... या इस तरह:
$("button").click(function() { alert("clicked!"); });
फिर, आप इस तरह की घटना को दूर कर सकते हैं:
$("#myButton").off('click'); // Removes other events if found
यदि आप अनिश्चित हैं कि आपका ईवेंट कैसे जोड़ा गया है, तो आप दोनों को जोड़ सकते हैं, जैसे:
$("#myButton").prop('onclick', null) // Removes 'onclick' property if found
.off('click'); // Removes other events if found
यदि आप 1.7 jquery का उपयोग कर रहे हैं
$('html').off('click');
अन्य
$('html').unbind('click');
इसे हटाने का उपयोग करना बहुत आसान है।
$(element).removeAttr("onclick");
बाइंड के साथ इतनी कोशिश करने के बाद, अनबाइंड, ऑन, ऑफ, क्लिक, अटर, रिमूव, एट्रेट, प्रोप मैंने इसे काम किया। इसलिए, मेरे पास निम्न परिदृश्य है: मेरे html में मैंने किसी भी इनलाइन ऑनक्लिक हैंडलर को संलग्न नहीं किया है।
फिर मेरी जावास्क्रिप्ट में मैंने इनलाइन ऑनक्लिक हैंडलर जोड़ने के लिए निम्नलिखित का उपयोग किया:
$(element).attr('onclick','myFunction()');
जावास्क्रिप्ट से बाद के बिंदु पर इसे हटाने के लिए मैंने निम्नलिखित का उपयोग किया:
$(element).prop('onclick',null);
यह वह तरीका है जिसने मेरे लिए जावास्क्रिप्ट में किसी घटना पर क्लिक करने और घटनाओं को रद्द करने के लिए काम किया। अपने तत्वों में किसी भी इनलाइन onclick हैंडलर को सम्मिलित करना न भूलें।
.on('click', myFunction)
(ध्यान दें कि myFunction
है नहीं उद्धरण में) और फिर, बाद में,.off('click')
क्या होगा यदि ऑनक्लिक घटना सीधे तत्व पर नहीं है, लेकिन मूल तत्व से? यह काम करना चाहिए:
$(".noclick").attr('onclick','').unbind('click');
$(".noclick").click(function(e){
e.preventDefault();
e.stopPropagation();
return false;
});
यदि आप ID द्वारा onclick इवेंट को अनबाइंड करते हैं तो यह प्रयोग करें:
$('#youLinkID').attr('onclick','').unbind('click');
यदि आप क्लास द्वारा ऑनक्लिक इवेंट को अनबाइंड करते हैं तो यह प्रयोग करें:
$('.className').attr('onclick','').unbind('click');