Javascript 创建一个通用jQuery“;addListener";
我试图复制Google地图的addListener,除了用于点击、按键等的jQuery监听器 在Moogle映射中,您可以编写Javascript 创建一个通用jQuery“;addListener";,javascript,jquery,Javascript,Jquery,我试图复制Google地图的addListener,除了用于点击、按键等的jQuery监听器 在Moogle映射中,您可以编写.event.addListener(映射,'click',function()…,或者将'click'替换为'drag','mouseover',等等。对于jQuery,我看到了一个与'click','keypress'等类似的例子 我被困在了可以将触发器类型作为变量传递的地方 function addClickListener(id, fn) { $(id
.event.addListener(映射,'click',function()…
,或者将'click'替换为'drag','mouseover',等等。对于jQuery,我看到了一个与'click','keypress'等类似的例子
我被困在了可以将触发器类型作为变量传递的地方
function addClickListener(id, fn) {
$(id).click(function() { fn(event); });
}
// and
function addKeyPressListener(id, fn) {
$(id).keypress(function() { fn(event); });
}
我正在寻找的是坏的,如下所示。我不知道谷歌如何传递一个像“click”这样的字符串并将其调用为函数。可能是使用eval
?抖动
最后:我想你可以在这里使用“”:
你看过吗?这确实使我的问题成为一个毫无意义的练习:(哇,非常聪明。我无法想象它能代替函数名。这正是我想要的!谢谢!
function addListener(id, type, fn) {
typeFn = $.type;
$(id).typeFn(function() { fn(event); });
}
function addListener(id, type, fn) {
$(id)[type](function() { fn(event); }); //< here
}
$(id).on(type, function() { fn(event); });
$(id).bind(type, function() { fn(event); });