关于 ie 11 兼容遇到的问题

 placeholder

placeholde 导致了 input 多次自动调用  input 事件, focues 时同样会触发 input 事件 导致了我所做的下拉热搜索(带选择标记) 的功能 ,会出现选择无效化。

图 1

上 图 1 中,第一次点击选择,把列表第一项 selected 设置为 true, 但是点击按钮后 ,自动触发了input 事件,进行了搜索,所以新数据顶掉了旧数据。从而形成了。选择结果中有该项数据,而该项数据没被选择的错误场景。

建议不要用 placeholde ,自己写个标签替代它,更舒服。

事件源 e

在下拉收起,我选择了监听整个 Windows 的点击事件,然后扣去几个点,其他点都会收起菜单的方式。代码如图 2

图 2

但是到了 ie 环境 ,菜单收不起来了,直接报 map 找不到,果然打印 e ,发现它和 webkit 内核下的 e 差别很大。

图 3 

故而选择了向父节点搜寻的方式,同时发现 ie 不兼容 include 方法, 阻止冒泡要使用  window.event.cancelBubble = true

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容