javascript - 如何在输入特定单词时提醒用户

标签 javascript jquery

我是 Javascript 新手,正在创建我的第一个 Chrome 扩展。这实际上只是一个个人挑战。

我想在用户在任何网站上键入某些单词时提醒他们。也许是 Google 或 Bing 上的搜索输入字段,或者也许是当他们输入 Facebook 状态时。

我对Javascript不太熟悉,这可能吗?经过反复试验,我想出了这个,但它只适用于网站上的特定输入字段。

$(function() {
    var triggerWords = ['badword', 'wordbad'];
    $('#input').keyup(function() {
        for (var i = 0; i < triggerWords.length; i++) {
            if ($(this).val().toLowerCase() == triggerWords[i]) {
                alert('Alert! You've typed a blocked word.');
            }
        }
    });
});

最佳答案

上面的答案对于单个输入来说效果很好。但是,如果您希望它也适用于动态生成的输入,您可能需要稍微更改您的函数。

这不适用于动态生成的输入 ( Demo )

$('input').keyup(function() {
    for (var i = 0; i < triggerWords.length; i++) {
        if ($(this).val().toLowerCase().indexOf(triggerWords[i]) != -1) {
            alert("Alert! You've typed a blocked word.");
        }
    }
});

但这确实 ( Demo )

 $(document).on('keyup', 'input', function() {
    for (var i = 0; i < triggerWords.length; i++) {
        if ($(this).val().toLowerCase().indexOf(triggerWords[i]) != -1) {
            alert("Alert! You've typed a blocked word.");
        }
    }
});

关于javascript - 如何在输入特定单词时提醒用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39482287/

相关文章:

JavaScript 不警告 JSON 数据

javascript - HTML5 拖放 getData() 仅适用于 Chrome 中的拖放事件?

jquery - 如何将 AJAX 查询的结果存储在预先声明的变量中?

javascript - 如何使用 jQuery 将数据属性添加到选择中的每个项目

jquery - 为什么 jQuery UI 1.10 删除了 jquery 对话框 zIndex 选项?

Javascript成员变量未定义

Javascript div 类检查 onclick

javascript - 如何在 javascript 计算器中检测和存储操作符前后的数字?

javascript - 使用 Jquery 搜索 - 适用于多个术语

javascript - "Can' t POST w/nodejs