Javascript jQuery prop()方法正在工作,但不';t添加属性";残疾人士;元素

Javascript jQuery prop()方法正在工作,但不';t添加属性";残疾人士;元素,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试禁用一个按钮,以防止在表中添加新行。 我的问题是prop()方法工作正常,但没有禁用按钮(我不能添加新行,它工作正常,但按钮仍然单击,看起来像是“活动的”(属性“disabled”没有添加到我的按钮) 如果我使用attr(“disabled”、“disabled”)而不是prop(“disabled”,true)这可以很好地工作,并且按钮禁用(元素中添加了属性“disabled”),但我在JQuery 1.6+之后读到了使用attr()的内容是不好的 var addBtn = $(".

我正在尝试禁用一个按钮,以防止在表中添加新行。 我的问题是
prop()
方法工作正常,但没有禁用按钮(我不能添加新行,它工作正常,但按钮仍然单击,看起来像是“活动的”(属性“disabled”没有添加到我的按钮)

如果我使用
attr(“disabled”、“disabled”)
而不是
prop(“disabled”,true)
这可以很好地工作,并且按钮禁用(元素中添加了属性“disabled”),但我在JQuery 1.6+之后读到了使用
attr()
的内容是不好的

var addBtn = $(".k-grid-add");
addBtn.bind("click", function () {
    if (grid.dataSource.data().length == 9) {
        $(addBtn).prop("disabled", true);          // <- work, but button still "active"
        // $(addBtn).attr("disabled", "disabled"); // <- work fine
    }
var addBtn=$(“.k-grid-add”);
addBtn.bind(“单击”,函数(){
if(grid.dataSource.data().length==9){

$(addBtn).prop(“disabled”,true);//由于
disabled
是一个布尔属性,因此需要将其设置为
disabled=“disabled”


由于
disabled
是一个布尔属性,因此需要将其设置为
disabled=“disabled”


它对我有效!看看我测试了什么

addBtn=$(“#btn”);
addBtn.prop(“禁用”,真);
addBtn.on(“单击”,函数(){console.log(999);});
//
enable.onclick=函数(){
addBtn.prop(“禁用”,错误);
}
// 
disable.onclick=function(){
addBtn.prop(“禁用”,真);
}

自卫队
使可能

禁用
它对我有效!看看我测试了什么

addBtn=$(“#btn”);
addBtn.prop(“禁用”,真);
addBtn.on(“单击”,函数(){console.log(999);});
//
enable.onclick=函数(){
addBtn.prop(“禁用”,错误);
}
// 
disable.onclick=function(){
addBtn.prop(“禁用”,真);
}

自卫队
使可能

禁用
我无法验证它是否应该工作。这是我的代码的一部分,它正在工作,如果我输入超过6个字符,按钮将处于活动状态,如果我删除它,按钮将被禁用。您使用的是什么版本的jQuery?另外,在jQuery版本>3.0中不推荐使用bind,使用
元素。on()
将更能证明未来()

$commentsInput.on('input.UECommenting',函数(事件){
let buttonsDisabled=$commentsInput.val()。长度<7?true:false;
for(让按钮输入$commentingButtons){
$commentingButtons[button].prop({'disabled':buttonsDisabled,'title':buttonsDisabled?'No comments With content!':'});
}
});

我必须建议您习惯于在事件中使用名称空间,这样您就可以轻松地使用
element.off('.namespace')
以确保您的事件不会被多次设置和触发。

我无法验证它是否有效。这是我的代码的一部分,它正在工作,如果我输入超过6个字符,按钮将处于活动状态,如果我删除它,按钮将被禁用。您使用的jQuery版本是什么?另外,在jQuery版本中,bind的使用是不推荐的>3.0,使用
element.on()

$commentsInput.on('input.UECommenting',函数(事件){
let buttonsDisabled=$commentsInput.val()。长度<7?true:false;
for(让按钮输入$commentingButtons){
$commentingButtons[button].prop({'disabled':buttonsDisabled,'title':buttonsDisabled?'No comments With content!':'});
}
});

我必须建议您习惯使用事件的名称空间,这样您就可以轻松地使用
element.off(“.namespace”)
来确保事件不会被多次设置和触发。

规范()中的示例:$(“输入”).prop(“禁用”,false);规范()中的示例:$(“输入”).prop(“禁用”,false);尝试$(this).prop(“disabled”,true);在on-click function.not
$(addBtn).prop(“disabled”,true);
但是
addBtn.prop(“disabled”,true)
尝试$(this).prop(“disabled”,true);在on-click function.not
$(addBtn).prop(“disabled”,true);
但是
添加btn.prop(“disabled”,true)
按钮被解除,无法点击!不对!@JackBashford按钮被解除,无法点击!不对!@JackBashford
$(addBtn).prop("disabled", "disabled");
$commentsInput.on('input.UECommenting', function (event) {
    let buttonsDisabled = $commentsInput.val().length < 7 ? true : false;
    for (let button in $commentingButtons) {
        $commentingButtons[button].prop({ 'disabled': buttonsDisabled, 'title': buttonsDisabled ? 'No comments without content!' : '' });
    }
});