2011-01-23 10 views
8

मैं अपने jquery/जावास्क्रिप्ट कोड में किसी पृष्ठ पर एक बटन पर मैन्युअल रूप से क्लिक कर रहा हूं .click()।मैन्युअल रूप से बटन पर क्लिक() को कॉल करके, क्या मैं कोई पैरामीटर पास कर सकता हूं?

मुझे क्लिक करने के लिए एक पैरामीटर पास करने की आवश्यकता है जिसे मैं क्लिक ईवेंट पर प्रतिक्रिया देने वाले फ़ंक्शन पर पढ़ सकता हूं।

क्या यह संभव है?

उत्तर

20

आपको .trigger() का आह्वान करने की आवश्यकता है। आप वहां किसी भी प्रकार के तर्क पारित कर सकते हैं।

$('element').trigger('click', [arg1, arg2, ...]); 

ये अतिरिक्त पैरामीटर तो ईवेंट हैंडलर में पारित कर रहे हैं:

$('element').bind('click', function(event, arg1, arg2, ...) { 
}); 

संदर्भ: .trigger()

0

नहीं। आपकी onclick घटना आपके click() फ़ंक्शन से अलग है। आम तौर पर, यह arguments[] के माध्यम से संभव होगा, लेकिन इस मामले में आपको एक चर का उपयोग करना होगा।

0
<button id='test'> 

var btn = $("button#test"); 
btn.attr("param", "my parameter"); 
btn.click(); 
0

तर्क आप किस तरह के पारित करने के लिए करना चाहते हैं? मुझे लगता है कि ये तर्क स्थैतिक हैं, क्योंकि बटन पर क्लिक करने से आप किसी भी तरह की गणना नहीं कर सकते हैं।

जब आप क्लिक पकड़ने, तो आप this उपयोग कर सकते हैं, इस प्रकार, तर्क आप किस तरह का

एचटीएमएल पास करना चाहते हैं को देखने के लिए इसका इस्तेमाल करते हैं:

<input type="button" id="foo" /> 

और अपने जे एस:

<script> 

function iNeedParams(bar, baz) { 
    // Computation 
} 

$("id").click(function() { 
    var me = $(this); 
    // me contains the object 
    // me.attr("id") gives you its ID, then you can call 
    iNeedParams("hello", "world"); 
}); 
</script> 
संबंधित मुद्दे

 संबंधित मुद्दे