提问人:Elbassel 提问时间:8/4/2014 最后编辑:frankElbassel 更新时间:2/24/2016 访问量:1288
在 dojo 1.7+ 中将参数传递给事件
Passing arguement to an event in dojo 1.7+
问:
我想将参数传递给 dojo 1,7+ 中的事件。
假设我有以下模块:
define(
[ "dojo/dom", "dojo/dom-style", "dijit/registry", "js/busyIndicator",
"dojox/mobile/ListItem", "dojo/dom-class",
"ppwidgets/MyCommunitesRecentListItem", "js/utils"
],
function(dom, domStyle, registry, busyIndicator, ListItem,
domClass, MyCommunitesRecentListItem, utils) {
return {
sortBy: function(sortType) {
}};
}
);
<h3>In html:</h3>
在普通的html中,我可以这样做: onClick=“sortBy('date')”“ 但是在 dojo 中,我必须使用这个: data-dojo-attach-event=”
onClick:
_sortBy“
我想将函数 sortBy( ) 绑定到一个按钮, 如何将 sortType 传递给 sortBy( ) 函数。
提前致谢:)
答:
0赞
frank
8/4/2014
#1
Dojo 提供了一个名为 partial() 的函数。查看 此处 和 此处 获取文档和教程。
基本上,它允许的是将参数永久附加到函数中。 所以你的代码会看起来像这样。
define(
[ "dojo/dom", "dojo/dom-style", "dijit/registry", "js/busyIndicator",
"dojox/mobile/ListItem", "dojo/dom-class",
"ppwidgets/MyCommunitesRecentListItem", "js/utils" ,
"dojo/_base/lang" // need to add this module.
],
function(dom, domStyle, registry, busyIndicator, ListItem,
domClass, MyCommunitesRecentListItem, utils, lang) {
var myFunc = function( sortType ) {
};
var partialFunc = lang.partial (myFunc, sortType );
return {
sortBy: partialFunc
};
}
);
评论
4赞
Elbassel
8/4/2014
感谢您的回复。这是以编程方式完成的,但是如何传递参数抛出html,例如:input type=“button” data-dojo-attach-event=“onClick: _sortBy('date')”
0赞
Himanshu
2/24/2016
#2
您可以将参数保留为相应 HTML 元素中的属性,并可以通过函数中访问它。这是我目前使用的方式sortType
event.target.sortType
如果您找到了一种将参数传递给函数的方法,请添加您的答案。:)data-dojo-attach-event
上一个:生成 e2big 节点
评论