Javascript 文本字段没有onClick()事件(对于特定站点) 背景

Javascript 文本字段没有onClick()事件(对于特定站点) 背景,javascript,qt,qtwebkit,Javascript,Qt,Qtwebkit,我正在开发一个基于Qt4.8(QtWebkit 2.0)的自定义浏览器实现。我试图在用户单击文本字段时弹出一个虚拟键盘 我有一些简单的JavaScript,它为任何文本字段上的点击事件添加了一个监听器 当检测到单击时,它通过myWebObj对象调用一个插槽,如下所示 $("input[type=text]").click(function() { var name = $(this).attr('id'); alert("Text field " + 'id' + " clic

我正在开发一个基于Qt4.8(QtWebkit 2.0)的自定义浏览器实现。我试图在用户单击文本字段时弹出一个虚拟键盘

  • 我有一些简单的JavaScript,它为任何文本字段上的点击事件添加了一个监听器
  • 当检测到单击时,它通过
    myWebObj
    对象调用一个插槽,如下所示

    $("input[type=text]").click(function() {
        var name = $(this).attr('id');
        alert("Text field " + 'id' + " clicked");
    });
    
问题 以上代码适用于大多数网站。例如,它适用于并检测所有文本字段

然而,对于www.google.com,点击搜索栏并不会调用点击功能

同时,在任何标准浏览器(如Firefox或Chrome)上,上面给出的javascript都能完美工作


非常感谢您的帮助。

我在google.com上没有遇到任何问题,但对于苹果来说,您不会得到它,因为他们的脚本不是您的普通jquery。这是他们的$('selector')代码

函数$(元素){
如果(arguments.length>1){
对于(var i=0,elements=[],length=arguments.length;i
您可以很好地检查它的功能,但对于您的情况,我认为您的$(“输入[type=text]”)。单击或$(“输入[type=text]”)。在('click',函数应该完全正常


对于虚拟键盘,你可以试试这个:

谢谢你的虚拟键盘链接,我会去看看,我自己写了一个VKB,并为此做了很多编码,但它仍然没有你建议的那么好看,功能也没有你建议的那么齐全。我不知道为什么,但是google.com的输入标签没有被识别。
QtWebkit2.0
ortables…可能是与touch事件冲突的问题?可能是Jquery中的错误,请尝试更新Jquery…如果不起作用,请尝试添加使用
touchstart
@guilhermanascimento Jquery中没有错误,因为我已经在Web控制台中测试了它们的正确性。我不确定在移植它时webkit的问题。谢谢,我一定会查看touchstar没什么。
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);
}