0

目前正在用 JavaScript 开发一个 Firefox 插件。它会扫描网页以查找特定内容,例如电子邮件地址。有没有办法让它读取网站的源代码并将事件侦听器设置到文本框,然后可以检测用户是否在任何网站的文本框中输入电子邮件地址。不确定这在 JavaScript 中是否可行,因为我是新手。如果用户在网站上输入电子邮件地址,我需要能够显示警报,但因为这将从 Firefox 插件运行。几乎就像您在网站上将其用于验证目的时会显示一样。但由于这是来自 Firefox 插件,它的工作方式并不完全相同。我看过 GreaseMonkey 但它非常令人困惑,当试图具体找出是否可以完成时,我被卡住了。

我怎么能实现这将是伟大的,甚至它是否可能。

4

3 回答 3

2

你可以这样做:

window.onload = function () {
    var inputs = document.getElementsByTagName('input');
    for (i = 0; i < inputs.length; i++) {
        inputs[i].onkeypress = function () {
            if (this.value.match(/^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/)) {
                // do something
                alert('Looks like an email address!');
            }
        };
    }
};

在这里试试:http: //jsfiddle.net/samliew/49cny/

于 2013-03-01T09:26:24.573 回答
0

你可以加一个event listener赞:

句法

target.addEventListener(type, listener[, useCapture]);
target.addEventListener(type, listener[, useCapture, aWantsUntrusted Non-standard]); // Gecko/Mozilla only

来自https://developer.mozilla.org/en/docs/DOM/element.addEventListener

例如

document.getElementById('inputid').addEventListener("keypress", function(){/* Your code */}, false);
于 2013-03-01T09:28:27.700 回答
0

你会使用jQuery .keyPress() function下面是一个例子......在#target哪里IDTextbox

var i=0;
$( "#target" ).keypress(function() {
i++;
console.log("Kep Pressed: " + i);
}
于 2015-06-17T04:37:52.447 回答