学习网址:

https://blog.csdn.net/lplovewjm/article/details/134524616?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170196314316800182167638%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170196314316800182167638&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-134524616-null-null.142

二维码实现部分

<script type="text/javascript">
    /* 新建一个QRcode对象 */
    var qrcode = new QRCode(document.getElementById("qrcode"), {
        // 二维码宽高
        width: 100, // 100px
        height: 100 // 100px
    });

    function makeCode() {
        /* 函数用于判断输入框中是否输入值,如果没输入并回车则弹窗提示请输入,
                       如果输入值了并回车则调用clear方法清除之前生成的二维码。
                       再调用QRcode自带的参数是url的值的makeCode方法生产二维码。
                     */
        // 根据ID来获取元素elText
        var elText = document.getElementById("text");
        // console.log(elText);
        // console.log(elText.value);

        // elText的值是否为空,为空则爆出弹窗提示
        if (!elText.value) {
            alert("请输入URL");
            elText.focus();
            return;
        }
        qrcode.clear();  // clear方法用来清除之前生成的二维码
        qrcode.makeCode(elText.value);
    }

    makeCode();
    let text = document.getElementById('text')
    text.addEventListener('keydown', function(e) {
        if (e.keyCode == 13) {
            makeCode();
        }
    })
</script>

网页生成二维码-二维码实现部分JS_回调函数

.focus()方法

var elText = document.getElementById("text");
// console.log(elText);
// console.log(elText.value);

// elText的值是否为空,为空则爆出弹窗提示
if (!elText.value) {
    alert("请输入URL");
    elText.focus();
    return;
}

在JavaScript中,.focus()是一个方法,用于将焦点设置到指定的元素上。当一个元素获得焦点时,它通常会变成活动的或可交互的状态。

该方法可用于各种HTML元素,如文本框、按钮等。通过调用元素的.focus()方法,可以将焦点移动到该元素上,使其成为用户当前活动的元素。(调用了该元素的.focus()方法,将其设置为当前活动的元素。)

网页生成二维码-二维码实现部分JS_回车键_02

addEventListener

text.addEventListener('keydown', function(e) {
    ...
})

addEventListener是JavaScript中用于为元素添加事件监听器的方法。它接受两个参数:

  1. 事件类型(字符串):表示要监听的事件类型,如"click"、"mouseover"等。
  2. 回调函数(函数):当指定的事件发生时,将执行该回调函数。回调函数通常接收一个事件对象作为参数,可以通过该对象获取事件的相关信息。

网页生成二维码-二维码实现部分JS_回调函数_03

键盘监听事件

let text = document.getElementById('text') // 获取input元素
// 监听键盘回车事件
text.addEventListener('keydown', function(e) {
    // addEventListener方法用来监听键盘事件,
    // 第一个参数是键盘事件的类型,第二个参数是回调函数。
    // 回调函数中e是事件对象,e.keyCode是键盘按键的键值,13是回车键
    if (e.keyCode == 13) {
        // keyCode是键盘按键的键值,13是回车键.
        // 这里就是如果回车键按下了,就调用makeCode方法生成二维码
        makeCode();
    }
})

这段代码是用于在网页中监听键盘回车事件,并在按下回车键时调用makeCode()方法生成二维码。

首先,通过document.getElementById('text')获取页面上ID为'text'的元素,并将其赋值给变量text

然后,使用addEventListener方法监听该元素的键盘事件。当按下键盘上的某个键时,会触发相应的事件处理函数。在这个例子中,监听的是keydown事件,即按下键盘上的任意键。

在事件处理函数中,通过判断e.keyCode的值是否等于13来判断是否按下了回车键。如果按下了回车键(即e.keyCode == 13),则调用makeCode()方法生成二维码。

网页生成二维码-二维码实现部分JS_QR码_04

up的讲解

导入qrcode的Js文件

<script type="text/javascript" src="https://static.runoob.com/assets/qrcode/qrcode.min.js"></script>

网页生成二维码-二维码实现部分JS_QR码_05

导入后,写HTML body代码,一个id为text的input,一个id为qrcode的div。input用于输入,div用于装二维码。

<input id="text" value="www.baidu.com"/><div id="qrcode"><\/div>

js中,我首先定义一个qrcode变量用于初始化二维码,初始化二维码用的是

new QRCode(DOM,{})

DOM是获取到的元素,{}是这个二维码的宽高内容等。在这里就是:

var qrcode=new QRCode(document.getElementById(('text'),{width:100px;height:100px;})

上述代码中,利用输入的url生成了一个宽高都为100px的二维码。

然后定义无参makeCode方法,用于判断输入框是否输入值,如果没输入则弹窗请输入,如果输入了则调用clear方法清除原有qrcode二维码,并调用qrcodejs自带的参数是url值的makeCode方法生成二维码

在script中全局调用一次makeCode方法。

定义一个text变量,用于装id为text的input。

对id为text的input进行键盘keydown监听,判断输入键盘key值是否为13,13就是回车键的key,是的话就调用无参的makeCode方法判断输入框内是否有值。

这样就实现了生成二维码功能。