jQuery Mobile建议使用点击事件而不是点击事件,因为点击会增加延迟。
所以,如果我有:
<a id="someID" href="#" onclick="someFunction(); return false">asd </a>
如何将其更改为内联点击事件?
我可以这样做:
$('#someID').live('tap',function(event) { ... });
但不想在我的脚本中使用ID,所以更喜欢调用内联函数
答案 0 :(得分:4)
您想要这个解决方案吗?
HTML:
<div ontap="test()">TAP ME</div>
SCRIPT:
$('[ontap]').each(function(){
$(this).on("tap", new Function($(this).attr("ontap")));
});
答案 1 :(得分:3)
inline
没有“ontap="someFunction()"
点击事件”,因为tap
是jQuery Mobile
结构。
摘自jQuery Mobile Source(注意'点击'事件):
// add new event shortcuts
$.each(("touchstart touchmove touchend orientationchange throttledresize " +
"tap taphold swipe swipeleft swiperight scrollstart scrollstop" )
.split( " " ),
function( i, name ) { ...
了解更多信息:
答案 2 :(得分:0)
您可以使用ontap属性绑定所有元素:
$(document).on('tap', '[ontap]', function(){
new Function($(this).attr('ontap'))();
});
这适用于整个文档,甚至是动态添加的文档(当然还有ontap属性)。
实际上,您可以在HTML中替换任何属性名称,“点击”,“点击”,然后更改&#39; ontap&#39;相应地在上面的脚本中你想要的属性。
希望这有帮助!