我在使用jQuery访问事件的事件坐标时遇到问题。我的代码如下。每当我更改音量滑块时,它都会返回undefined而不是光标位置。
$(document).ready(function(){
// for new browsers
$("input#volume").bind('input', function(e){
if (is_playing()) {
now_playing.volume = parseFloat((this.value/100));
// set the tooltp for the current volume
var vol_tooltip = Math.floor((this.value/100)*100);
// $(".seek_timer").remove();
console.log(e.clientX);
// $(".slider-wrap").append("<span class='seek_timer'>"+vol_tooltip+"</span>");
// $(".seek_timer").css("left",e.clientX-15+"px");
}
});
});
为什么
e.clientX
未定义? 最佳答案
您将绑定(bind)到不包含坐标的input
事件-坐标仅出现在使用MouseEvent interface的事件上,例如click
,mousedown
和mouseup
事件。如果您希望能够通过clientX
或clientY
属性捕获客户端位置坐标,则需要重新设计代码,以便使用这些MouseEvent类型之一实现所需的功能。