【发布时间】:2012-07-23 17:44:24
【问题描述】:
我正在为鼠标事件和触摸事件使用事件规范器。这样,我就不需要维护两段代码:一段响应触摸事件,另一段响应触摸事件。
它工作正常,但我不能让它与 live() 函数一起工作。
在规范化过程结束时,以这种方式触发规范化事件:
var touchMouseEvent = normalizeEvent(type, event, event.pageX, event.pageY);
$(event.target).trigger(touchMouseEvent);
我尝试使用这些调用让现场活动发挥作用:
$('.MyClass').live('TouchMouseEvent', function(){...});
$('.MyClass').live('normalizeEvent', function(){...});
$('.MyClass').live('touchMouseEvent', function(){...});
但没有任何效果。
通常,自定义事件的触发器被称为像 $('.Class').trigger('customName') 这样的字符串,所以我想知道这是否就是我为此苦苦挣扎的原因。
这是我用于规范化的代码。 https://gist.github.com/2375726
谢谢!
【问题讨论】:
-
请使用
.on(),因为.live()已被弃用。 -
会做,但它正在做一些测试,我正在使用 on() 进行这些测试,但它不起作用。
-
自定义事件不适用于 jQuery 1.3.x 中的
.live。你用的是什么版本的jQuery? -
我使用的是 1.7.2。我认为 live() 是在 1.4 中引入的,所以我应该没问题。
-
MyElement是偶然动态创建的吗?