博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sui mobile 通过路由(ajax、内联)跳转到新页面时,js不执行
阅读量:7041 次
发布时间:2019-06-28

本文共 906 字,大约阅读时间需要 3 分钟。

hot3.png

sui mobile

     mobile的样式都在下面sui里

sui web

sui是基于bootstrap3写的一个前端框架,所以bootstrap3的样式都能用

 

 

sui的路由跳转指的是直接将新页面内嵌到当前页面,并非直接的重新加载一个页面,而是把页面2嵌入到页面1后,只显示页面2

ajax是请求到页面2,ajax方式导致页面2的js与页面1在同一个页面,所以页面2的js会不执行

内联是指页面2本身已经在页面1中,不需要请求,直接显示

 

--------------------------------------------------

下面的方法是从网上找的,但是只适合某些场景

1.通过路由跳转到新页面时,js不执行

解决方法:首先让所有页面引用相同的js,

  然后使用监听事件

$(document).on("pageInit", function(e, pageId, $page) {  if(pageId == "pageIndex01") {  }else if(pageId == "pageIndex02"){  }});$.init();//pageIndex01,pageIndex02是page对应的id名,//这样就可以让不同page对应的js在其对应的page组件初始化完毕执行,//让不同page对应的js隔离开//$.init()是必须加上的,而且在一个js里面只能用一次,不然page里面的js会执行几次

 

 

也就是说在路由外面的东西是不会重新加载的,而我的需求是在有些页面要引用jq,所以打开的必须要重新加载而不是经过路由,这也变相解决了sui mobile 不能兼容jq的问题。具体解决办法就是一个样式 在 a标签的class里面加一个样式,样式名为close-popup 如下

<a class="pull-left icon cart close-popup" href="/goods/cart" data-transition='slide-out'>  购物车   </a>  

 

 

转载于:https://my.oschina.net/u/3477605/blog/1796148

你可能感兴趣的文章
报错custom_require.rb:36:in gem_original_require: no such file to load--puppet的解决
查看>>
C#窗体控件更新(二)
查看>>
Android的一些UI设计
查看>>
Cisco路由器配置 IPsec ***
查看>>
Linux下搭建LAMP环境
查看>>
华为交换机配置方法
查看>>
Linux下实行计划任务介绍
查看>>
LWUIT + ChartComponent实现折线表
查看>>
iptables example
查看>>
JavaScript 在页面上的位置
查看>>
52、组播Multicast之IGMP
查看>>
4.VMware View 4.6安装与部署-view composer
查看>>
mysql的备份与恢复
查看>>
mysql主从配置
查看>>
Android生命周期图文介绍
查看>>
初涉 Git 心得
查看>>
私有VLAN知识点
查看>>
Shell 脚本介绍
查看>>
Open×××的服务器端和客户端搭建(二)
查看>>
Redis 键(key)相关的命令及其它命令的查看地址
查看>>