jquery - अक्षम क्लिक करें - जावास्क्रिप्ट, jquery

मैं केवल एक उपयोगकर्ता को किसी स्थिति के लिए एक तत्व पर क्लिक करने की क्षमता को अक्षम करना चाहता हूं। यहाँ कुछ कोड के साथ काम कर रहा हूँ:

     $("#navigation a").bind("click",function(e){

var $this   = $(this);
var prev    = current;

current = $this.parent().index() + 1; // store the position in current

if (current == 1){
$("#navigation a:eq(1)").unbind("click"); // i want to disable the ability to click this element if current is 1
}
if (current >= 2){
$("#navigation a:eq(1)").bind("click"); // this is wrong, but I want to rebind the click if current is greater than 1.
}

}

उत्तर:

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

यदि आप jQuery संस्करण 1.4.3+ का उपयोग कर रहे हैं:

$("selector").click(false);

अगर नहीं:

$("selector").click(function(){return false;});

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

अपने उपयोग की घटनाओं पर क्लिक करते हुए, बस उस एक को समझें।

उदाहरण

if (current = 1){
$("li:eq(2)").unbind("click");
}

संपादित करें: क्या आप वर्तमान में अपनी सूची में कहीं क्लिक करने के लिए बाध्य कर रहे हैं? ऊपर आपकी टिप्पणी के आधार पर, मैं सोच रहा हूं कि क्या यह वास्तव में आप क्या कर रहे हैं? आप क्लिक को कैसे सक्षम कर रहे हैं? क्या यह सिर्फ एक लंगर है (<a> टैग)? थोड़ी और स्पष्ट जानकारी हमें आपके प्रश्न का उत्तर देने में मदद करेगी।

अद्यतन करें:

कुछ के साथ खेल रहा था: eq () ऑपरेटर http://jsfiddle.net/ehudokai/VRGfS/5/

जैसा कि मुझे उम्मीद करनी चाहिए थी कि यह 0 आधारित इंडेक्स ऑपरेटर है। इसलिए यदि आप अपने चयन में दूसरे तत्व को चालू करना चाहते हैं, जहां आपका चयन है

$("#navigation a")

आप बस जोड़ देंगे: eq (1) (दूसरा सूचकांक) और फिर .unbind ("क्लिक") तो:

if(current == 1){
$("#navigation a:eq(1)").unbind("click");
}

चाल चलनी चाहिए।

उम्मीद है की यह मदद करेगा!


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

कच्चे जावास्क्रिप्ट एक ही बात को बहुत जल्दी भी पूरा कर सकते हैं:

document.getElementById("myElement").onclick = function() { return false; }

जवाब के लिए 5 № 4

आप संलग्न है कि हैंडलर को हटाने के लिए unbind विधि का उपयोग कर सकते हैं ...

if (current = 1){
$("li:eq(2)").unbind("click");
}

आप जाँच कर सकते हैं कि क्या कर सकते हैं? अनबंड मैनुअल