gpt4 book ai didi

javascript - Zepto 中的绑定(bind)事件

转载 作者:行者123 更新时间:2023-11-30 06:45:54 26 4
gpt4 key购买 nike

我正在寻找转换以下插件 jquery.hotkeys.js plugin来自 jQuery 与 Zepto 一起使用.

现在我正在使用 coffeescript,但我也会包括 Javascript 翻译。 Zepto 有一个用于 keyupkeydownkeypress 事件的绑定(bind)和事件 API(参见 here ),但是绑定(bind)了一个新的自定义事件(在这种情况下,keyHandler)接受这些事件有点棘手,我不太明白。

Here's the code到目前为止我已经经历过。我在最后一行遇到了一些麻烦 - 特别是 when jquery.hotkeys binds the keyHandler event我相信 Zepto 无法替代 jQuery 的特殊自定义处理程序。

任何人都可以帮我让 Zepto 在我每次编写以下内容时调用 keyHandler 吗?

$('*').bind('f', function() { console.log("pressed the 'f' key"); });

因此,即使我在网页上按 f 键,也会将该消息记录到控制台。

最佳答案

在您的代码中,您的意思是说以下内容吗?

$('*').bind('keypress', 'f', function() {...});

您的要点不再可用,但查看原始插件,它取决于 jQuery.event.special,这是 Zepto 不支持的一种功能。

我建议使用类似 Zepto.fn.bindHotkey(events, keys, func) 的东西来扩展 Zepto。例如:

Zepto.fn.bindHotkey = function(event, keys, func) {
var handler = {data: keys, handler: func};
keyHandler(handler);
this.bind(event, handler.handler);
};

请注意,我不会尝试将任何事件绑定(bind)到“*”。这会将事件附加到页面上的每个元素。因此,如果您选择了一个文本区域并键入“f”,则该文本区域、它的父级以及直到顶部的每个父级都将执行事件处理程序。页面事件通常可以绑定(bind)到窗口或文档对象。

关于javascript - Zepto 中的绑定(bind)事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6975576/

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