javascript - 文本字段没有 onClick() 事件(对于特定站点)

标签 javascript qt qtwebkit

背景

我正在开发基于 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/

相关文章:

Python 2.7.11 - 导入错误 : cannot import name QtWebKit - Kali Linux/Debian 8

javascript - Python:使用PyQt和QtWebkit填充html表单不显示

javascript - Jquery - 使用无序列表项显示已完成步骤的多步骤表单进度条

qt - 如何使用 QString Replace() 将 '/' 替换为 '\\'?

C++ 在工具栏中心拉伸(stretch) QLineEdit

css - Qt 自定义用户主题

javascript - 如何使用 react 在滚动上创建粘性标题

javascript - 双向绑定(bind)不更新 View 模型

javascript - 按类型和名称定位输入字段和提交按钮

c++ - 无法将 loadFinished SIGNAL 连接到自定义 SLOT