我正在使用 jquery 作为输入占位符的跨浏览器解决方案,但我不明白如何为 $(this)
设置全局变量,以便我可以在第二个中使用它这两个部分功能的一部分。我首先获取输入的值并将其存储为 $value
但我需要在第二个函数中再次使用它来替换空值。我该怎么做呢?我应该提到的是,这需要适用于一种形式的多个文本输入。
$(document).ready( function() {
$('input[type=text]')
.on('focus', function(){
var $this = $(this);
var $value = $(this).val();
globalVar = $value;
if($this.val() == $value){
$this.val('');
}
})
.on('blur', function(){
var $this = $(this);
if($this.val() == ''){
$this.val($value);
}
});
});
最佳答案
您可以使用这两个函数范围之外的变量..但最好使用数据
作为存储位置:
$(document).ready( function() {
$('input[type=text]')
.on('focus', function(){
var $this = $(this);
if ($this.val()) {
$this.data('myval', $this.val());
}
$this.val('');
})
.on('blur', function(){
var $this = $(this);
if($this.val() == ''){
$this.val($this.data('myval'));
}
});
});
编辑:
添加了这个:
if ($this.val()) {
$this.data('myval', $this.val());
}
关于jquery - 为单独的 jquery 函数设置 $(this) 的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12363270/