JavaScript:鼠标滚轮事件在文本框上方时不会触发

发布于 2024-07-30 00:48:31 字数 198 浏览 7 评论 0原文

我需要一些帮助。 我正在尝试从 JavaScript 绑定到 mousewheel 事件,并且我已经成功完成了该操作。 但有些事情并不像我预期的那样。 当我完成输入时,事件不会触发。

我尝试绑定到鼠标轮的输入事件,但发生了同样的事情,事件没有触发。

I need some help. I am trying to bind to the mousewheel event from JavaScript and I've successfully done that. But something doesn't work quite as I expected. When I am over an input the event doesn't fire.

I have tried to bind to the input's event for the mousewheel but the same thing happens, the event doesn't fire.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

桃酥萝莉 2024-08-06 00:48:31

此事件并未得到普遍支持。 在执行任何操作之前先检查鼠标滚轮兼容性表。 我发现有趣的是像 jQuery 这样的 JavaScript 库 没有实现 这个特定事件的包装器。 如果您打算使用 jQuery,人们会为此构建插件:

更新< /strong>

你必须稍微修改一下他们的例子。 在这里,这适用于

$(document).ready( function(){
    $('#inputTest').bind('mousewheel', function(event, delta) {
        var dir = delta > 0 ? 'Up' : 'Down', vel = Math.abs(delta);
        $(this).val(dir + ' at a velocity of ' + vel);
        return false;
    });
});

HTML 代码

<form>
    <input type='text' name='inputTest' id='inputTest' />
</form>

对于输入字段,使用 val() 而不是 text()。

This event is not universally supported. Check mousewheel compatibility table before anything. What I find interesting is that javaScript libraries like jQuery didn't implemented wrappers for this particular event. If you plan to use jQuery people build plugins for this:

UPDATE

You have to modify a little their example. Here, this works

$(document).ready( function(){
    $('#inputTest').bind('mousewheel', function(event, delta) {
        var dir = delta > 0 ? 'Up' : 'Down', vel = Math.abs(delta);
        $(this).val(dir + ' at a velocity of ' + vel);
        return false;
    });
});

HTML code

<form>
    <input type='text' name='inputTest' id='inputTest' />
</form>

For an input field use val() instead of text().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文