扫码关注官方订阅号
上述代码为什么提示这一行:get_input[i].addEventListener('focus',function(){if(value==defaultValue){value='';}})中的value未定义?如何解决呢?谢谢
你这里的value呢,是谁的value呢?
function values() { var get_input = document.getElementsByTagName("input"); for(var i = 0; i < get_input.length; i++) { get_input[i].addEventListener('focus', function() { if(this.value == this.defaultValue) { this.value = ''; } }); } }; values();
{if(value==defaultValue){value='';}这一行中的value和defaultValue都未在上下文中被声明,你读取了未加声明的变量去做比较,自然会有上述报错,
你可以尝试一下this.value ==this.defaultValue试试。这里的this指向的是你当前监听的input所对应的dom对象
你的value都没有申明,定义 var dom=get_input[i];var value=dom.value;dom.addEventListener('focus',function(){var defaultValue='';if(value==defaultValue){value='';}});
你的value什么时候赋值了?也不是函数参数,怎么会已经定义了呢?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你这里的value呢,是谁的value呢?
{if(value==defaultValue){value='';}
这一行中的value和defaultValue都未在上下文中被声明,你读取了未加声明的变量去做比较,自然会有上述报错,
你可以尝试一下this.value ==this.defaultValue试试。这里的this指向的是你当前监听的input所对应的dom对象
你的value都没有申明,定义
var dom=get_input[i];
var value=dom.value;
dom.addEventListener('focus',function(){
var defaultValue='';
if(value==defaultValue){
value='';
}
});
你的value什么时候赋值了?也不是函数参数,怎么会已经定义了呢?