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
}