背景
我正在开发基于 Qt 4.8 (QtWebkit 2.0) 的自定义浏览器实现。每当用户单击文本字段时,我都会尝试弹出虚拟键盘
- 我有一些简单的 JavaScript,它可以为任何文本字段上的点击事件添加监听器
检测到点击时,它会通过
myWebObj
对象调用插槽,如下所示。$("input[type=text]").click(function() { var name = $(this).attr('id'); alert("Text field " + 'id' + " clicked"); });
问题
上面的代码适用于大多数网站。例如,它适用于 How to Enter a Blocked Website并检测所有文本字段。
但是,对于 www.google.com,点击搜索栏不会调用点击功能。
同时,在任何标准浏览器(如 Firefox 或 Chrome)上,上面给出的 javascript 都可以完美运行。
感谢任何帮助。
最佳答案
我在 google.com 上没有问题,但对于苹果你不会得到它,因为他们的脚本不是你正常的 jquery。这是他们的 $('selector') 代码
function $(element) {
if (arguments.length > 1) {
for (var i = 0, elements = [], length = arguments.length; i < length; i++)
elements.push($(arguments[i]));
return elements;
}
if (Object.isString(element))
element = document.getElementById(element);
return Element.extend(element);
}
你可以很好地检查它的作用,但对于你的情况,我认为你的 $("input[type=text]").click 或 $("input[type=text]").on('click',功能应该完全没问题。
对于虚拟键盘,你可以试试这个:https://github.com/Mottie/Keyboard/wiki
关于javascript - 文本字段没有 onClick() 事件(对于特定站点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25240387/