javascript - 在单击警报后删除所述按钮之前,如何强制将按钮文本更改为粗体?
问题描述
我在 IE 中得到了正确的序列,但在 Chrome 中却没有。在 Chrome 中,按钮文本不是粗体,而是只有警报消息和按钮被删除。
我尝试在 Chrome 中逐步运行开发人员模式,但文本在警报之前正确显示粗体,然后删除按钮。
下面是我的 jQuery 按钮点击。
$("button").click(function() {
$(this).css('font-weight', '700');
var elmId = $(this).attr("id");
alert(elmId);
$(this).remove();
});
我希望按钮文本在警报消息之前和删除所述按钮之前为粗体。
编辑:通过下面的答案解决
解决方案
该代码不起作用,因为alert()
异步执行,这就是为什么按钮被删除,并且更改不可见的原因。这就是我使用 setTimeout 的原因,它在一定时间后开始执行。它等待 1 毫秒,然后生成警报,并删除button
元素。到那时,CSS 更改已经发生,并且是可见的。:)
$("button").click(function() {
let el = $(this);
el.css('font-weight', '700');
var elmId = el.attr("id");
setTimeout(function(){
alert(elmId);
el.remove();
}, 1000);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>BOLD</button>
推荐阅读
- javascript - 将鼠标悬停在视频上播放无法正常工作,直到我先单击网站上的任何位置。我该如何解决?
- spring-boot - Apache Kafka 与 Springboot 连接
- javascript - 如何通过编辑从嵌入中删除字段?
- string - 用 Rust 中的向量元素替换编号占位符?
- java - 顶级域 .world 在 java struts 2 应用程序中不起作用
- botframework - 是否建议使用调度创建多个 LUIS 模型?
- javascript - 在 react-native 中将 HTML 转换为 JSON
- javascript - 停止 ejs 缓存 javascript 变量
- javascript - 我如何使用 2 $_POST 而不会相互干扰?
- javascript - 隐藏以前的选项卡和标题 react-navigation v3