tap点击一次,内部程序执行两次,多次
调试过程发现,使用
$(document).on('tap', '.children2', function () {
//内部程序
})
点击children2的时候,程序在里面执行了两次。百度得到的解释是:
原因:
如果你在页面中没有使用<div data-role="page">
,jquery mobile会自己创建一个,因为它必须依赖这个。
它怎么创建呢?把body
里面的内容复制一遍塞到div
里去,body
里如果有script
就会被被塞入到新节点后,浏览器解释为需要加载scirpt
里的内容,最后奇迹就发生了。。。
解决办法:
只需要把所有的script内容放到head里即可