मेरे पास एक ऐसा फ़ंक्शन है जो एक JQuery ईवेंट हैंडलर है। चूंकि यह एक JQuery इवेंट हैंडलर है, यह उस ऑब्जेक्ट को संदर्भित करने के लिए this
चर का उपयोग करता है जिस पर इसे लागू किया जाता है (जैसा कि उस लाइब्रेरी के लिए सामान्य है)।मैं जावास्क्रिप्ट में 'यह' को फिर से परिभाषित कैसे करूं?
दुर्भाग्य से, मुझे इस बिंदु पर मैन्युअल रूप से उस विधि को कॉल करने की आवश्यकता है। मैं कॉल किए गए फ़ंक्शन के अंदर this
कैसे बना सकता हूं जैसे कि इसे JQuery से कहा जाता है?
उदाहरण कोड:
performAjaxRequest.apply(dialog, []);
// arguments (instead of []) might be even better
चाल करना चाहिए:
function performAjaxRequest() {
//Function which builds AJAX request in terms of "this"
}
function buildForm(dialogOfForm) {
var inputItem;
dialogOfForm.html('...');
dialogOfForm.dialog('option', 'buttons', {
"Ok" : performAjaxRequest
});
inputItem = dialogOfForm.children(':not(label)');
//Redirect enter to submit the form
inputItem.keypress(function (e) {
if (e.which === 13) {
performAjaxRequest(); //Note that 'this' isn't the dialog box
//as performAjaxRequest expects here, it's
//the input element where the user pressed
//enter!
}
}
}
मान लें कि मेरे पास वास्तविक घटना या तत्व का आसान संदर्भ नहीं है जिस पर ईवेंट निकाल दिया जाएगा। –
@ बिली ... तो आप एक परिवर्तनीय वस्तु या वस्तुओं के सेट पर एक चरणीय घटना ट्रिगर करना चाहते हैं? यदि हां, तो सामान्य कोड कैसा दिखता है? इस समय क्या आप जानते हैं कि आप जो भी ट्रिगर करना चाहते हैं उसे ट्रिगर करना चाहते हैं? –
बस प्रश्न को अपडेट किया गया - मुझे बताएं कि क्या यह स्पष्ट हो जाता है। –