लौटाता है मैं एक jQuery प्लगइन लिख रहा हूं जो कुछ मामलों में कुछ डेटा संग्रहीत करता है।एक jQuery प्लगइन लिखें जो मान
मैं इसे एक बहुत ही लचीला तरीके से लिखना चाहता हूं, जहां मैं प्लगइन द्वारा संग्रहीत कुछ मूल्य प्राप्त करने के लिए इनपुट पैरामीटर बदल सकता हूं।
स्पष्टीकरण:
जब मैं फोन $("#any").myPlugin()
, मेरे प्लगइन एक div
और कुछ a
अंदर बनाने initializes। a
पर क्लिक करने से .data()
विधि का उपयोग करके इसे .index()
पर स्टोर किया जाएगा। यदि मैं $("#any").myPlugin("getSelection")
पर कॉल करता हूं तो मैं .data()
के साथ संग्रहीत मान प्राप्त करना चाहता हूं।
मैं क्या करने की कोशिश की थी:
(function ($) {
$.fn.myPlugin = function (action) {
if (action == null) action = "initialize";
return this.each(function ($this) {
$this = $(this);
if (action == "initialize") {
$this.html('<div></div>');
var div = $("div", $this);
div.append('<a>A</a>').append('<a>B</a>').append('<a>C</a>');
div.children("a").each(function (i) {
$(this).click(function (event) {
// Here I store the index.
$this.data($(this).index());
event.preventDefault();
return false;
});
});
return $this;
} else if (action == "getSelection") {
// With this action, I tried to get the stored value.
return $this.data("selectedValue");
}
});
};
})(jQuery);
सरल तत्वों को बनाने के कॉल:
$("#someElement").myPlugin();
और यहाँ मैं सूचकांक प्राप्त करने की कोशिश था, सफलता के बिना:
alert($("#someElement").myPlugin("getSelection"));
तो, क्या मैं कोशिश कर रहा हूं ऐसा करना संभव है?
अपरिभाषित के बारे में इंगित करके धन्यवाद, लेकिन यह केवल प्रारंभिकता को प्रभावित कर सकता है। सही कार्रवाई सेट होने पर वापसी हल नहीं होती है। –
लेकिन शुरुआत के साथ काम नहीं कर रहा है, आपको कभी भी नए तत्व नहीं मिलेंगे, कभी भी क्लिक ईवेंट संलग्न न करें और डेटा सेट न करें। इसलिए, getSelection पैरामीटर के साथ कॉल करते समय आपको कभी भी चयन नहीं मिलेगा। – Jamiec