मुझे पूरा यकीन नहीं है कि क्या मैं इसे सही दायरे में या इसका उपयोग नहीं कर रहा हूं, लेकिन मेरे पास एक ऐसी स्क्रिप्ट है जो मूल रूप से एक लिंक क्लिक को कैप्चर करती है और पृष्ठ को लिंक किए गए पृष्ठ पर जाने से पहले बाहर निकलने का कारण बनती है। हालांकि, अगर लिंक एक जावास्क्रिप्ट पर क्लिक करता है, तो स्क्रिप्ट विफल हो जाती है।jQuery: this.attr() फ़ंक्शन नहीं है?
यहाँ मेरी कोड है:
<script type="text/javascript">
pageObj = {
init: function(){
$("body").fadeTo("slow", 1);
},
redirectPage: function(redirect){
window.location = redirect;
},
linkLoad: function(location){
$("body").fadeOut(1000, this.redirectPage(location));
}
};
$(document).ready(function() {
pageObj.init();
$("a").click(function(e){
e.preventDefault();
if (this.attr('onclick') !== undefined) {
eval(this.attr('onclick').val());
} else {
var location = this.href;
pageObj.linkLoad(location);
}
});
});
</script>
आप देख सकते हैं, मैं अगर लिंक onclick विशेषता है देखने के लिए एक जांच करने के लिए कोशिश कर रहा हूँ, और फिर onclick फ़ंक्शन को कॉल करें अगर यह मौजूद है। इसे कैसे प्राप्त किया जा सकता है?
बहुत बढ़िया। एक आकर्षण की तरह काम करता है। मैं समझता हूं कि कॉल() wo uld eval(), साथ ही, सही से उपयोग करने के लिए सुरक्षित हो? – chaoskreator