JQuery中的contains方法,用纯JavaScript有什么替代方法吗

在vue中用到了这个语句

(this.$refs.menu as any).contains(e.target)

判断menu这个dom元素是否包含鼠标点击对象,但是因为项目没有使用JQuery,所以想问下各位大佬,原生js或者vue,有替代contains的方法吗。

阅读 2.7k
1 个回答

contains是一个dom属性和jquery没有关系,而且是一个兼容性还不错的方法
image.png
https://caniuse.com/mdn-api_n...
他的polyfill可以这样写

    Node.prototype.contains = function(el){
        while (el = el.parentNode) {
            if (el === this) return true;
        }
        return false;
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题