gpt4 book ai didi

javascript - IE9 Alert() 现在阻止 range.select 显示所选文本

转载 作者:行者123 更新时间:2023-11-28 09:36:11 25 4
gpt4 key购买 nike

我在页面上有一个按钮,按下该按钮时,会搜索表单上的数据,突出显示某个字段,并且 javascript ALERT() 是找到的单词的用户。一旦用户确定了 ALERT(),JavaScript 就会搜索并突出显示下一个出现的单词,然后重新发出警报,并继续此行为,直到找不到更多数据。

在 IE9 之前,下面的代码可以很好地产生这种行为(这是代码的一个非常简单的版本,它演示了该问题)。通常(IE9 之前)在第一个 ALERT() 暂停时,文本会在屏幕上突出显示,但在 IE9 下则不会。在 IE9 中,直到整个脚本完成后(第二个警报之后),才会突出显示任何内容,并且此时仅突出显示最后找到的字符串。这可以防止应用程序单步执行并突出显示每个找到的单词并提醒用户。

尝试在 IE9 下运行以下命令,然后在 IE8 及更低版本下运行。在这种情况下我不需要担心其他浏览器,只需担心 IE(它是一个受控的浏览器应用程序环境):

<小时/>
<html>
<head>
</head>
<body>

<form name="MYFORM">
<input type="text" value="NAME/JONES ADDR/123 MAIN" name="myinput" size="40">
</form>

<script type="text/javascript" language="JavaScript">

var range = document.MYFORM.myinput.createTextRange();

var strFound=range.findText("NAME/");
range.select();
alert("Message 1");

var strFound=range.findText("ADDR/");
range.select();
alert("Message 2");

</script>

</body>

感谢您对修复代码以使其在 IE9 下工作的任何见解。

凯文

最佳答案

您可能需要给 UI 时间来重新绘制 - 通过将代码拆分为可使用 setTimeout(nextIteration, 0); 进行调度的部分来实现此目的。

关于javascript - IE9 Alert() 现在阻止 range.select 显示所选文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com