【发布时间】:2014-02-06 08:23:58
【问题描述】:
我正在借助一本书学习开发 Windows 8 风格的应用程序。我正在阅读的这一章重点介绍用于开发的 HTML、CSS 和 JavaScript 语言。应用程序在 ListView 中显示您在“我的图片”文件夹中的图像,并在用户单击或点击图像时将其删除。下面是实现ListView中删除图片的代码:
var lv = document.getElementById('lv');
lv.addEventListener('iteminvoked', function (eventObj) {
eventObj.detail.itemPromise.then(function (listViewItem) {
var binding = files.dataSource.createListBinding();
binding.fromIndex(listViewItem.index).then(function (dataItem) {
var key = dataItem.key;
files.dataSource.remove(key);
binding.release();
});
});
});
我的问题是,addEventListener方法中匿名函数的eventObj参数在哪里取值?我在这里发现了一个类似的问题:Passing arguments in anonymous functions in JavaScript,但我无法完全理解。我在 MSDN 上搜索了 addEventListener 的文档,但它只是说它需要一个事件处理函数,但它没有说明参数。提前致谢。
【问题讨论】:
-
除了关于 eventObj 来自何处的所有一般答案之外,您可能最感兴趣的是该对象本身的数据类型。这总是在事件的文档中找到;在你的情况下 WinJS.UI.ListView.oniteminvoked.
标签: javascript windows-8 microsoft-metro winjs windows-applications