v2.5.2
Giriş yap

javascript tanımlayamadığım kod

istek61
328 defa görüntülendi

Genel kod yapısı

$.contextMenu({
            selector: '.database',
            build: function(e){ 
                var id = $(e).data("id");
                var name = $(e).data("name");
                var surname = $(e).data("surname");
                var phone = $(e).data("phone");
                var entertime = $(e).data("entertime");
                return {
            callback: function(key, options) {
                var m = "clicked: " + key;
                console.log(m); 
            },
            items: {
                "whois":{name:name + " " + surname,disabled:true},
                "sep1": "---------",
                "addtime": {name: "30Dk. Ekle", icon: "clock"},
                "wc": {name: "WC Molası",icon: "wc"},
                "water": {name: "500ml su",icon: "water"},
                "sep2": "---------",
                "q":{ name: "Çıkış", icon: "close" }
            },
          }
          }
        });

bu kod yapısının içine items "q" için icon function metodu ekledim. ama çalışmıyor.

"q":{ name: function(e) {
    if (id == "179") { return "HESABI KAPAT"; }
    if (id == "180") { return "GRUP KAPAT"; }
},
icon: function(e) {
if (id == "179") { return "close"; }
if (id == "180") { return "group"; }
}

böyle çalışıyor.

"q":{ name: function(e) {
    if (id == "179") { return "HESABI KAPAT"; }
    if (id == "180") { return "GRUP KAPAT"; }
},
icon: "close"

Cevap yaz
Cevaplar (3)
istek61
675 gün önce

@devepdogukan

merhaba yardımlarınız için teşekkür ederim. :)
yapmaya çalıştığım şu.
gelen veriye göre

menüdeki yazıyı ve iconu değiştirmeye çalışıyorum.

örnek sayfasında şöyle yapmışlar

"quit": {name: "Quit", icon: function(){
    return 'context-menu-icon context-menu-icon-quit';
}}

ben bu function olayını name e de uygulamaya çalıştım ama her ikisine de uygulandığında çalışmıyor. sanırım sadece birkere uygulanabiliyor.

şöyle birşey deneyecegim belki çalışır.

"q":{ name: function(e) {
    if (id == "179") { var ico = "close"; return "HESABI KAPAT"; }
    if (id == "180") { var ico = "group"; return "GRUP KAPAT"; }
},
icon: ico;
istek61
675 gün önce

build e şu şekilde tanımlama yaptım.

 var iconvar, namevar;
if (id == "179") { iconvar = "close"; namevar = "HESABI KAPAT"; }
if (id == "180") { iconvar = "group"; namevar = "GRUP KAPAT"; }

items de de bu şekilde bir düzenle sorunu çözdüm. yine yardımlarınız için tşk ederim.

"q":{ name:namevar,icon: iconvar}
devepdogukan
675 gün önce

Tam olarak ne yaptığını ve hatanı anlayamadım. Görünüşe göre syntax hataların var.
Böyle denersen olabilir.

"q":{
 name: "HESABI KAPAT",
 icon: function(e) {
    if (id == "179")  return "close"
    if (id == "180")  return "group"
 }
}

contextMenu'yi incelediğimde name sadece string alabilir. Yani bir fonksiyon yazamazsın. 2 tane aynı işlevi yapacak olan bir şeyin varsa bunu 2 kere yazman gerekiyor.
Makaleye buradan ulaşabilirsin.