/ / कैसे jquery में क्लिक घटना फिर से शुरू करने के लिए - jquery, जावास्क्रिप्ट-घटनाओं

jquery - jquery, जावास्क्रिप्ट-ईवेंट में क्लिक ईवेंट को फिर से शुरू कैसे करें

मेरे पास है

छुड़ाना

निश्चित स्थिति के लिए घटना पर क्लिक करें। उसके बाद मैं उस घटना को फिर से शुरू करना चाहता हूं। ऐसा कैसे करें?

      jQuery("#div1 span").click(function(){
if(jQuery("#div1 a:last").hasClass("current"))
{
jQuery("#div1 span").unbind(click);
}

}
jQuery("#div1 a").click(function(){

jQuery(this).addClass("current");
//here i want to resume click event for #div1 span is this possible
});

<div id ="div1"><span></span><a></a><a></a><a></a></div>

यहां जब वर्तमान कक्षा अंतिम लंगर के साथ नहीं है, तो मैं स्पैन पर क्लिक करना चाहता हूं

उत्तर:

जवाब के लिए 2 № 1

आप स्पष्ट रूप से कर सकते हैं .bind()मदद तथा .unbind()मदद एक विधी:

function my_click_handler(event) {
// click handler code
}

// bind that handler to #element
$("#element").bind("click", my_click_handler);

// remove the handler
$("#element").unbind("click", my_click_handler);

// bind again
$("#element").bind("click", my_click_handler);

उत्तर № 2 के लिए 1

यह आसान हो सकता है अगर आप सिर्फ एक चर के लिए जाँच की तरह clickHandlerEnabled अपने ऑनक्लिक ईवेंट हैंडलर को अनबाइंड करने और ईवेंट हैंडलर को पुन: बाइंड करने के बजाय।

यदि यह तत्व-विशिष्ट है तो आप इसे अपने `डेटा ()` `में संग्रहीत कर सकते हैं:

$(".elem").click(function(e) {
if($(this).data("clickDisabled")) {
return;
}
});

और इसे सेट करने के लिए:

$("#someElem").data("clickDisabled", true /* or false to re-enable clicks */);

जवाब के लिए 0 № 3

यदि आप इसे फिर से शुरू करने के लिए दूसरी स्थिति के तहत Jquery क्लिक इवेंट को कॉल करते हैं, तो jquery स्वचालित रूप से इसे फिर से बाँध देगा।