cou*_*011 18 jquery touch-event
由于大多数桌面浏览器尚不支持touchstart/touchend.如何创建与mousedown事件相同的touchstart事件(所有浏览器都支持).
我想要这样的东西
$('obj').bind('touchstart', function(e){
});
Run Code Online (Sandbox Code Playgroud)
将被翻译成
$('obj').bind('mousedown', function(e){
})
Run Code Online (Sandbox Code Playgroud)
ale*_*lex 26
你可以一次绑定两个......
$('obj').bind('touchstart mousedown', function(e){
});
Run Code Online (Sandbox Code Playgroud)
如果你想事件自动mousedown触发touchstart事件(所以你只需要绑定touchstart)使用...
$(document).bind('mousedown', function(event) {
$(event.target).trigger('touchstart');
});
Run Code Online (Sandbox Code Playgroud)
请注意,这意味着mousedown事件必须传播到可以触发document自定义touchstart事件之前.这可能有意想不到的副作用.
尝试这样的事情:
var clickEventType = ((document.ontouchstart!==null)?'click':'touchstart');
$('obj').bind(clickEventType, function(e){});
Run Code Online (Sandbox Code Playgroud)
更好的是,使用.on()进行绑定:
$('body').on(clickEventType, 'obj', function(e){});
Run Code Online (Sandbox Code Playgroud)
这会检查文档是否存在touchstart,如果存在,那么您的事件是"touchstart"(如果不存在)(大多数桌面浏览器)然后是"click".
您还可以使用相同的事件类型触发:
$('obj').trigger(clickEventType);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47877 次 |
| 最近记录: |