list[i].fnctn
- 包含我要附加到单击事件处理程序的函数的名称。我在同一个js
文件中全局定义了这些函数
function createList(list){
var parentID = $("#content_nav ul");
var len = list.length;
for(var i=0;i<len;i++){
var anchorElement = jQuery('<a />',{text:list[i].text});
var liElement = jQuery('<li />',{"class":"navlink_"+(i+1),id:"navlink_"+(i+1)});
//anchorElement.attr('onclick',list[i].fnctn+"()"); - Works fine on desktop browsers but doesn't work on mobile devices. (Mobile devices are my target platform
anchorElement.on('click',{funct:list[i].fnctn},function(event) {
return window[event.data.funct](event);
});
liElement.append(anchorElement);
parentID.append(liElement);
}
}
此代码在桌面浏览器上运行良好。但是当我使用电话间隙将它部署到移动设备时它不起作用。
问题是什么?
我试用的设备是 - 三星 Google Nexus S (ICS 4.0.0) iPhone 4 和 iPhone 4s (Simulator),Android 模拟器。
PS:让我知道是否有其他更好的方法可以做到这一点。我现在正在做的是,我从 JSON 中获取要分配给事件处理程序的函数名称(作为字符串),然后使用上面的代码应用它。我不知道这是否是最佳做法。请帮忙 :)