我在我的asp.net项目中的一个公共javascript文件中有这段代码。
jQuery-Lint每当我将鼠标悬停在受此函数影响的按钮上时,都会返回“您已多次使用同一选择器”。
//turns all the buttons into jqueryUI buttons
//#mainBody is on the master page, #childBody is on the modal page.
$("#mainBody button, #mainBody input:submit, #mainBody input:button, #childBody button, #childBody input:submit, #childBody input:button").livequery(function () {
$(this).button().each(function (index) {
$(this).ajaxStart(function () {
$.data(this, "old_button_val", $(this).val());
$.data(this, "old_button_disabled", $(this).button("option", "disabled"));
$(this).button("option", "disabled", true).val("Wait...");
}).ajaxStop(function () {
$(this).val($.data(this, "old_button_val")).button("option", "disabled", $.data(this, "old_button_disabled"));
}).ajaxError(function () {
$(this).val($.data(this, "old_button_val")).button("option", "disabled", $.data(this, "old_button_disabled"));
});
});
});类似的问题也被问到了here。
发布于 2011-02-05 08:40:47
// Might be a good idea now to add a class to these element
// instead of using a long selector like this
// Additionally, :button already includes <button> elements
var selector = "#mainBody input:submit, #mainBody input:button, #childBody input:submit, #childBody input:button";
$(selector).livequery(function() {
// Store a copy of $(this), which we'll reuse... and reuse... and reuse
var t = $(this);
// Create the callback function shared berween
// ajaxStop and ajaxError
function ajaxCallback () {
t.button('option', {
label: t.data("old_button_val"),
disabled: t.data('old_button_disabled')
});
}
t.button()
.ajaxStart(function() {
// Use $.fn.data instead of $.data
t.data({
// Using 'label' instead of 'val'
// because <button> elements do not have 'value's
"old_button_val", t.button('option', 'label'),
"old_button_disabled": t.button("option", "disabled")
}).button('option', {
disabled: true,
label: 'Wait...'
});
}).ajaxStop(ajaxCallback).ajaxError(ajaxCallback);
});
});免责声明:未经测试,因此不能保证正常工作。
https://stackoverflow.com/questions/4903994
复制相似问题