发布于 2016-01-26 01:34:54
只是为了跨浏览器的支持。IE8或更低的版本不支持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#sliders和div#silders的子元素(R、G、B、H、S、L滑块)。this指着div#sliders。
因此,对于RGB,该代码的意思是“如果单击的对象不是div#sliders”,HSL滑块正常工作。
编辑2:
e.preventDefault()是存在的滑块移动(拖动)完美。
例如,如果游标在拖动时滑出,并且没有e.preventDefault(),则此函数将无法正常工作。
发布于 2016-01-26 01:33:15
跨浏览器支持,特别是IE的旧版本。在调用函数以防止错误之前,它需要检查函数是否存在。
发布于 2016-01-26 01:41:00
if子句中没有括号。因此,这不是一个函数调用,而是一个检查是否存在这样的方法。因此,他们只是检查方法是否存在,如果存在,他们就调用它。
至于目标,他们检查哪个元素首先得到了这个事件。如果是当前滑块,则忽略事件。
https://stackoverflow.com/questions/35005597
复制相似问题