我在使用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的事件上,例如clickmousedownmouseup事件。如果您希望能够通过clientXclientY属性捕获客户端位置坐标,则需要重新设计代码,以便使用这些MouseEvent类型之一实现所需的功能。

09-25 17:00