Javascript 如何禁用动态创建的元素?

Javascript 如何禁用动态创建的元素?,javascript,jquery,Javascript,Jquery,我已经创建了包含三个的。我想在特定条件下禁用其中一个,并在另一个中插入一些文本,但失败了 代码 我想把它关掉。我尝试了以下代码: 剧本 尝试使用。关闭: 供参考: 只有表单输入元素具有禁用的属性,无论是键入文本、选择复选框按钮等。尝试使用。关闭: 供参考: 只有表单输入元素具有禁用属性,无论是键入文本、选择复选框按钮等。当li元素没有禁用状态时,您可以模拟如下所示的所需行为: $('#B1').css("color","gray").css("text-decoration","none");

我已经创建了包含三个的。我想在特定条件下禁用其中一个,并在另一个中插入一些文本,但失败了

代码

我想把它关掉。我尝试了以下代码:

剧本

尝试使用。关闭:

供参考:

只有表单输入元素具有禁用的属性,无论是键入文本、选择复选框按钮等。

尝试使用。关闭:

供参考:


只有表单输入元素具有禁用属性,无论是键入文本、选择复选框按钮等。

当li元素没有禁用状态时,您可以模拟如下所示的所需行为:

$('#B1').css("color","gray").css("text-decoration","none");
这将使它看起来像是禁用的,它将不会被下划线,并将显示为灰色

此外,如果需要禁用附加到它的事件侦听器,则必须使用:

此外,如果元素是链接,则必须通过以下方式防止其被单击:

$('#B1').click(function() {
    $(this).preventDefault();  // prevent the default action
    $(this).stopPropagation(); // prevent event from bubbling up
    return false;              // just to be sure
}

虽然li元素没有禁用状态,但可以模拟所需的行为,如下所示:

$('#B1').css("color","gray").css("text-decoration","none");
这将使它看起来像是禁用的,它将不会被下划线,并将显示为灰色

此外,如果需要禁用附加到它的事件侦听器,则必须使用:

此外,如果元素是链接,则必须通过以下方式防止其被单击:

$('#B1').click(function() {
    $(this).preventDefault();  // prevent the default action
    $(this).stopPropagation(); // prevent event from bubbling up
    return false;              // just to be sure
}

当您使用jQuery时,使用jQuery而不是JavaScript可以非常轻松地完成这项工作。你想让一个残疾的李做什么?它应该禁用其子输入控件吗?没有禁用状态:实际上我在它上面有单击功能,我不想调用它,那就是让它禁用…@BaqerNaqvi你必须在$this方法中指定事件。关闭“单击”因为你使用的是jQuery,你可以很容易地使用jQuery而不是JavaScript。li元素没有禁用的属性。你想让一个残疾的李做什么?它应该禁用其子输入控件吗?不具有禁用状态:实际上,我对其使用了click函数,我不想调用它,这就是使其禁用…@BaqerNaqvi您必须在方法$this中指定事件。off'click'从事件处理程序返回false将自动调用event.stopPropagation和event.preventDefault。检查文档以了解这就是我添加的原因,因为我们不知道OP的代码在jQuery/浏览器版本等上运行的环境不会造成伤害。这也没有帮助,除非OP运行的是修改版本的jQueryReturning false,从事件处理程序将自动调用event.stopPropagation和event.preventDefault。查看文档,这就是我添加的原因,因为我们不知道OP的代码在jQuery/浏览器版本等上运行的环境没有影响。也没有帮助,除非OP运行的是修改后的jQuery版本
$('#B1').off("click");
$('#B1').click(function() {
    $(this).preventDefault();  // prevent the default action
    $(this).stopPropagation(); // prevent event from bubbling up
    return false;              // just to be sure
}