获得徽章 8
- #每天一个知识点#
touch\click\tap的区别
1.click()事件会有200-300ms的延迟
2.tap()事件会出现点透事件(事件穿透),实行完上层的绑定tap事件后,下层如果绑定click事件或本身存在(a\input)也会默认触发,这就是点透事件。Tap事件是通过监听document上的touch事件模拟的,并且tap事件是冒泡到document上的,移动端的事件触发排序:toushstart touchstop click。
3.冒泡事件解决:fastClick/绑定touch事件,内部加上e.preventDefault()展开赞过评论3 - #每天一个知识点#
当主页面和iframe同域:
1.可以获取到iframe中的内容:
Api,iframe.contentWindow获取iframe的window对象,iframe.contentDocument获取iframede cocument对象。
2.在iframe中获取父级内容
window.parent,获取上一级的window对象,window.top获取最顶级容器的window对象
当主页面和iframe跨域:
域名相同的情况下,可以使用CDM(cross document messageing)跨域,发送消息postmessage(),window.postmessage(message, targetOrigin),接收消息监听message事件,window.addEventListener(‘message’,receiver, false)。
子页面中,使用window.parent调用父页面的方法的时候,父页面的方法需要挂载。展开赞过评论1 - #每天一个知识点#
Vue-router通过hash和history两种方式实现前端路由,更新视图但不重新请求页面时前端路由原理的核心之一。
Hash,利用url种的hash(“#”),History,通过浏览器api中的方法,可以用过mode参数控制,默认hash模式。
原理区别:pushSate设置新的url可以是与当前url同源的任意url,而hash只可修改#后面的部分,故只设置与当前同文档的url;pushState通过stateObject可以添加任意类型的数据到记录中,而hash只可添加短字符串;history模式会将url修改的同正常请求后端的url一样,如果后端没有配置对应/user/id的路由处理,则会返回404错误。展开评论点赞