Bazı durumlarda bazı verileri depolayan bir jQuery eklentisi yazıyorum.Değerleri döndüren bir jQuery Eklentisi Yazma
Çok esnek bir şekilde yazmak istiyorum, eklenti tarafından saklanan bir değer elde etmek için bir giriş parametresini değiştirebileceğim.
Açıklama:
ben $("#any").myPlugin()
diyoruz, benim eklenti bir div
ve içindeki bazı a
oluşturarak başlatır. Bir a
üzerine tıklamak .data()
yöntemini kullanarak .index()
kaydedecektir. $("#any").myPlugin("getSelection")
'u ararsam, .data()
ile saklanan değeri almak istiyorum. olmadan okunamaz burada
$("#someElement").myPlugin();
Ve endeksi almaya çalıştı etmişti,: öğeleri oluşturmak için
(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);
Basit çağrı: Ben çalışmıştı Ne
alert($("#someElement").myPlugin("getSelection"));
Yani, denediğimi yapmak mümkün mü?
Tanımsız hakkında işaret ederek teşekkürler, ancak yalnızca başlatmayı etkileyebilir. Doğru eylemin ayarlandığı zaman geri dönüşü çözülmez. –
Ancak, başlatma işlemi çalışmadığında, yeni öğeleri asla alamazsınız, asla tıklama etkinliklerini eklemezsiniz ve asla verileri ayarlamazsınız. Bu nedenle, getSelection parametresiyle arama yaparken seçimi daha sonra asla alamazsınız. – Jamiec