gpt4 book ai didi

javascript - 为什么检查 if preventDefault,然后 preventDefault?

转载 作者:行者123 更新时间:2023-11-29 21:35:21 27 4
gpt4 key购买 nike

我正在尝试使用 this website 中的颜色 slider , 这是 source code .以下代码的作用是:line 134

if (e.preventDefault) e.preventDefault();

我知道 preventDefault() 的作用,但为什么它要先检查 preventDefault() 然后再检查 preventDefault?为什么需要 preventDefault()

此外,之前的行检查是否:

if (target !== this)

有什么必要?

最佳答案

只是为了跨浏览器支持。 IE 8 或以下不支持 preventDefault,它们使用 returnValue

//check preventDefault function is exists in event handler 'e'
if (e.preventDefault)

// if browser support preventDefault, call preventDefault();
e.preventDefault();

编辑:

if (target !== this)

在这段代码中,target是被点击的对象,可以指向div#slidersdiv#silders的子元素(R,G ,B,H,S,L slider )。并且 this 指向 div#sliders

因此该代码意味着“如果单击的对象不是 div#sliders”,对于 RGB,HSL slider 可以正常工作

编辑 2:

e.preventDefault() 是为了完美地移动(拖动) slider 而存在的。

例如,如果拖动时光标滑出,并且没有e.preventDefault(),则该函数将无法正常工作。

关于javascript - 为什么检查 if preventDefault,然后 preventDefault?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35005597/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com