【发布时间】:2014-03-14 21:23:37
【问题描述】:
我有一个应用程序,它使用我自己的 SVG 按钮方法,这需要一些技巧才能开始工作,但我喜欢它的工作原理。但是,当我将 jQuery Mobile 添加到项目中时,我的按钮不再响应点击或触摸。
我的按钮不是
function buttonifySVG(id, clickHandler) {
var obj = document.getElementById(id);
var svgDoc = obj.getSVGDocument();
function addClickHandler() {
svgDoc.removeEventListener('touchstart', clickHandler);
svgDoc.removeEventListener('mousedown', clickHandler);
svgDoc.addEventListener('touchstart', clickHandler);
svgDoc.addEventListener('mousedown', clickHandler);
}
addClickHandler();
obj.addEventListener('load', addClickHandler, false);
}
这是一个示例“按钮”:
<object id="stepForward"type="image/svg+xml" data="stepForward.svg"></object>
为了完全清楚:
...
buttonifySVG('stepForward', function() { doTheThing(); })
我可以通过记录确认按钮仍被此代码连接,但从未调用传入的 clickHandler。除此之外,在 jquery-mobile.js 中四处寻找,看起来至少有一个地方点击被拦截和停止,但我不知道什么时候,更重要的是,我宁愿不开始破解 jquery 代码让事情发挥作用。
谁能告诉我可能是什么问题?如果我知道这里发生了什么,我也许可以破解它。
另外,jQuery Mobile 对
感谢您的帮助!
【问题讨论】:
-
您使用的是哪个 JQM 版本?请添加 html 标记示例。
-
使用 jqm 1.4.2。编辑帖子以澄清。
标签: javascript jquery jquery-mobile svg