使用mui框架后a标签无法跳转
由于最近工作项目上使用到前台mui框架,笔者在将H5转换为jsp时,遇见各种各样问题,原因归结为对mui框架不熟悉,今天就遇见一个特别奇怪的问题,界面中超链接<a>标签无法跳转,笔者试着添加点击事件,但效果依然是无法跳转,查资料发现mui搞得鬼;
我的代码主要是下边代码搞得鬼:
//删除出行人
mui('body').on('tap','.business_icon_remove',function(){
var parentNode_1 = this.parentNode,
parentNode_2 = parentNode_1.parentNode,
removeNode = parentNode_2.parentNode,//获取要删除的节点
fatherNode = removeNode.parentNode;//获取要删除节点的父节点
if (hasClass(removeNode,'mui-media')) {
mui.alert('确定要删除该员工?',function(){
fatherNode.removeChild(removeNode);
})
}else if(hasClass(removeNode,'business_remove_invoice')){
mui.alert('确定要删除该发票?',function(){
fatherNode.removeChild(removeNode);
})
};
});
mui('body').on('tap','.business_choose_time',function(){
var set_day = this.getElementsByClassName('business_time_day')[0];
var set_hour = this.getElementsByClassName('business_time_hour')[0];
/*
* 首次显示时实例化组件
* 示例为了简洁,将 options 放在了按钮的 dom 上
* 也可以直接通过代码声明 optinos 用于实例化 DtPicker
*/
//设置日期控件模式
var picker = new mui.DtPicker();
picker.show(function(rs) {
/*
* rs.value 拼合后的 value
* rs.text 拼合后的 text
* rs.y 年,可以通过 rs.y.vaue 和 rs.y.text 获取值和文本
* rs.m 月,用法同年
* rs.d 日,用法同年
* rs.h 时,用法同年
* rs.i 分(minutes 的第二个字母),用法同年
*/
set_day.innerText = rs.y.text + '-' +rs.m.text + '-' + rs.d.text;
set_hour.innerText = rs.h.text + ':' + rs.i.text;
/*
* 返回 false 可以阻止选择框的关闭
* return false;
*/
/*
* 释放组件资源,释放后将将不能再操作组件
* 通常情况下,不需要示放组件,new DtPicker(options) 后,可以一直使用。
* 当前示例,因为内容较多,如不进行资原释放,在某些设备上会较慢。
* 所以每次用完便立即调用 dispose 进行释放,下次用时再创建新实例。
*/
picker.dispose();
}, false);
});
其实在这里使用mui框架,来实现界面的数据删除和时间的选择两个功能,添加下边代码就可以解决问题:
mui('body').on('tap','a',function(){
window.top.location.href=this.href;
});
以上叙述经笔者亲自验证,也可能朋友们是其他原因导致的,但使用mui框架,类似问题,应该都可以解决!