我有这段代码来验证字段是否为空。它通过匿名函数绑定到输入的模糊事件中。
isValidText = function(){
if ($(this).val().trim() == ""){
//some code here
return false;
}
//some code here
return true;
}
$("#someElement").blur(isValidText);
在某个时刻,我想从绑定函数中获取返回值,如下所示:
//this return a jQuery object
var isValid = $("#someElement").blur();
//but I want the boolean from the isValidText
这是不可能的,因为blur()
方法返回jQuery对象而不是isValidText
函数的返回值。
我的问题是,是否有办法从模糊事件中的isValidText
绑定中获取返回值。
答案 0 :(得分:2)
$("#someElement").blur(function() {
var ret = isValidText.call(this);
});
OR
$("#someElement").blur(function() {
var ret = isValidText.apply(this, arguments); // if you work with some hadler
});
答案 1 :(得分:1)
您可以使用codeparadox解决方案,或者您可以在#someElement上添加HTML5数据属性并查看:
isValidText = function(){
var $this = $(this);
$this.data("isValid", !($this.val().trim() === ""));
}
$("#someElement").blur(isValidText);
/* Further down when you want to check if its valid or not */
if(!$("#someElement").data("isValid")) {
alert('someElement is not valid!') ;
}
答案 2 :(得分:1)
我会这样做
var isValid;
isValidText = function(valueToCheck){
if ($.trim(valueToCheck) == ""){
//some code here
return false;
}
//some code here
return true;
}
$("#someElement").on('blur', function() {
isValid=isValidText(this.value);
//or just :
if (isValidText(this.value)) {
//do something
}
});