当我第一次点击它时,jQuery 错误框不会出现。当我第二次再次点击时。
$(document).ready(function() {
jQuery.validator.addMethod("file", function( value, element ) {
var ext = value.substring(value.lastIndexOf('.') + 1);
var result = this.optional(element) || ext == "csv" || ext == "CSV";
return result;
}, '<div class="errorbox rateError"><div class="error-message">* Please upload only csv file</div><div class="error-arrow"></div></div>');
var $Zone = $('#ZoneZone').attr('name');
var $params = {debug:false,rules:{},messages:{}};
$params['rules'][$Zone] = {"required": true};
$params['messages'][$Zone] = {"required":'<div class="errorbox rateError"><div class="error-message">* Please enter Zone</div><div class="error-arrow"></div></div>'
};
$("#ZoneAdminAddForm").validate($params);
jQuery(document).on('click','.errorbox',function(){
alert("click");
$(this).fadeOut('slow',function(){
$(this).remove();
});
});
});
当我第一次点击错误框时什么也没有发生,但是当我第二次再次点击时,它会发出警报,并且该错误消息正在发生。
我也尝试不提供冲突代码,但它不起作用。
相同的代码在其他页面中工作。
最佳答案
.on() 适用于 jQuery 1.7 及更高版本。如果您有旧版本,请使用以下命令:
$('.errorbox').live('click',function(){
$(this).fadeOut('slow',function(){
$(this).remove();
});
});
$('.errorbox').live('focus', function()
{
$(this).fadeOut('slow',function(){
$(this).remove();
});
});
关于当我第一次点击它时,jQuery 错误框不会出现。当我第二次再次点击它时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17187714/