如何在键入特定单词时提醒用户 [英] How to alert user when a specific word is typed

查看:73
本文介绍了如何在键入特定单词时提醒用户的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Javascript的新手,我正在创建我的第一个Chrome扩展程序。这真的只是个人挑战。

I am new to Javascript and I'm creating my first Chrome extention. It's really just a personal challenge.

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

I want to alert the user when they type certain words on any website. Perhaps a search input field on Google or Bing, or maybe when they're typing a Facebook status.

我对Javascript不是很熟悉,这可能吗?在追踪和错误之后,我想出了这个,但它只适用于网站上的特定输入字段。

I am not very familiar with Javascript, so is this possible? After trail and error, I came up with this, but it only works on a specific input field on a website.

$(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.');
            }
        }
    });
});


推荐答案

上述答案适用于单个输入。但是,如果您希望它可以用于动态生成的输入,则可能需要稍微更改一下您的功能。

The answers above work well for a single input. However you might have to change your function a little if you want it to work for dynamically generated inputs as well.

这对动态生成的输入无效演示

$('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.");
        }
    }
});

但这确实演示

 $(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.");
        }
    }
});

这篇关于如何在键入特定单词时提醒用户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆