学习网址:
二维码实现部分
<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>
.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()
方法,将其设置为当前活动的元素。)
addEventListener
text.addEventListener('keydown', function(e) {
...
})
addEventListener
是JavaScript中用于为元素添加事件监听器的方法。它接受两个参数:
- 事件类型(字符串):表示要监听的事件类型,如"click"、"mouseover"等。
- 回调函数(函数):当指定的事件发生时,将执行该回调函数。回调函数通常接收一个事件对象作为参数,可以通过该对象获取事件的相关信息。
键盘监听事件
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()
方法生成二维码。
up的讲解
导入qrcode的Js文件
<script type="text/javascript" src="https://static.runoob.com/assets/qrcode/qrcode.min.js"></script>
导入后,写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方法判断输入框内是否有值。
这样就实现了生成二维码功能。