【问题标题】:Drop-down menu of Dojo do not open up in QtWeb browserDojo 的下拉菜单在 QtWeb 浏览器中不打开
【发布时间】:2012-03-17 01:11:50
【问题描述】:
【问题讨论】:
标签:
qt
webkit
dojo
drop-down-menu
【解决方案1】:
我遇到了同样的问题。有趣的是,弹出菜单从 1.7.1 版本开始不起作用。
这不是道场的错误。这是 QtWebKit 中的一些错误。在预编译的 qt webkit 库中默认定义的触摸板设备中的问题(即使触摸板物理上不存在)。
-
临时解决方案是编辑 dojo/has.js 文件(在 dojo >= 1.7.1 中找到此行):
if(has("host-browser")){
var agent = navigator.userAgent;
has.add("dom-addeventlistener", !!document.addEventListener);
has.add("touch", "ontouchstart" in document); <<<<< Comment this line
has.add("device-width", screen.availWidth || innerWidth);
has.add("agent-ios", !!agent.match(/iPhone|iP[ao]d/));
has.add("agent-android", agent.indexOf("android") > 1);
}
- 这里有另一个解决方案(更痛苦):
Link to the helpful message source
您必须使用 WebCore/features.pri 中定义的 DEFINES+=ENABLE_TOUCH_EVENTS=0 重新编译 QtWebKit。
那么你的 qt web 项目就可以正常工作了!