簡體   English   中英

將具有單擊事件的超鏈接添加到Dojo網格

[英]Add hyperlink with click event to Dojo grid

我的問題類似於在dojo數據網格中實現超鏈接 ,並且我能夠使用格式化程序成功地將超鏈接的標記添加到Dojo網格。

但是,我需要連接這些超鏈接上的click事件,以觸發包含網格的Dijit中的函數。

我有一個類似以下格式器:

var createEditLinks = function (data) {
   return '<a class="my-css-class" href="#" onclick="myFunctionInsideTheDijit()">' + data.title + '</a>'
}

盡管這可行(我確實在網格單元中獲得了標記),但myFunctionInsideTheDijit函數不可用(除非我將在全局范圍內聲明它)。

我稍微看過dom-construct ,但是我不知道如何添加單擊時調用Dijit函數的超鏈接。

任何幫助是極大的贊賞! 謝謝!

dojo.behavior相比,更現代的方法是使用on和事件委托 dgrid實例已經公開了自己的on函數,以使其變得稍微容易一些:

grid.on('a.my-css-class:click', function (event) {
    ...
});

我求助於使用dojo / behavior使其工作:

// Code inside Dijit's startup function
var that = this;

behavior.add({
    "a.my-css-class": {
        onclick: function (e) {
            e.preventDefault();

            that.myFunctionInsideTheDijit();
        }
    }
});

behavior.apply();

不確定是否有更優雅的方法嗎? :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM