2009-12-07 6 views
5

पर मौजूद है, तो मुझे check if event exists on element का रास्ता मिला। लेकिन यह किसी घटना के समय jQuery द्वारा प्रत्यायोजित नहीं किया गया है पर काम नहीं कर रहा है ...jQuery जांचें कि ऑनक्लिक तत्व

जब मैं कोशिश,

$("a").data("events"); 
इस के लिए

<a href="#" onClick="alert('Hello, World!')" /> 

यह अपरिभाषित लौटा।

क्या यह जांचने का कोई तरीका है कि ऑनक्लिक jQuery के साथ तत्वों पर मौजूद है?

धन्यवाद।

उत्तर

15

आप कर सकते हैं:

if ($('a').attr("onClick") != undefined) {} 
+0

ओह! ओवर देखा ... :) –

0

मुझे लगता है कि निम्नलिखित बातें भी काम करना चाहिए

if ($(yourElement).attr("onClick").length != 0) {} 

if ($(yourElement).attr("onClick").size() != 0) {} 

धन्यवाद

7

बस कार्य करें:

if(myelement.onclick != null) 
{ 
    //onclick exists 
} 
else 
{ 
    //onclick doesn't exist 
} 

jQuery के लिए कोई ज़रूरत नहीं।

+2

मैं परीक्षण करने की कोशिश कर रहा हूं कि एक जेएस यूनिट परीक्षण के हिस्से के रूप में कोई ईवेंट श्रोता सेट किया गया है ... अगर मैं सेटअप कर रहा हूं या नहीं तो मैं कैसे परीक्षण कर सकता हूं ?? यह काम नहीं कर रहा है, हमेशा सत्य देता है ... console.log (document.body.click.length); document.body.addEventListener ('क्लिक करें', फ़ंक्शन() {अलर्ट ('हाय')}, झूठा) console.log (document.body.click.length); –

3
if($('#elementName').click == undefined) 
    { //event handler doesn't exist } 
else 
    { //handler exists } 
0

निश्चित रूप से यहां कुछ वैध उत्तर दिए गए हैं, यह एक अच्छा था जो मुझे जाने वाला था।

if ($('a').attr("onClick") != undefined) {} 

लेकिन मैं सबसे अच्छा जवाब आप के लिए, होगा href विशेषता के लिए देख पाया, के रूप में यह बाद से हम दोनों हाइपरलिंक के साथ काम कर रहे हैं के लिए किया गया था।

if ($('a').attr("href") != undefined) {} 

मुझे विशेष रूप से यह दृष्टिकोण पसंद आया।