Javascript &引用;停止运行此脚本?";当用户单击my HTML select元素时,会显示一条消息

Javascript &引用;停止运行此脚本?";当用户单击my HTML select元素时,会显示一条消息,javascript,jquery,html,internet-explorer-8,Javascript,Jquery,Html,Internet Explorer 8,我去年创建了一个ASP.net web应用程序。我收到了一个让我烦恼的bug报告 有一个HTML SELECT元素显示在所有用户的网页中。使用jQuery填充选项元素。它们没有数据-属性或任何异常,只有内部文本和值属性 我收到(并复制)的bug报告说,当用户单击SELECT元素时,程序挂起并显示“停止运行此脚本?”消息。我能看到的唯一区别是,对于这个用户,SELECT元素几乎包含2000个选项。但是,我不知道为什么会出现“停止运行此脚本?”消息 据我所知,SELECT上的.click处理程序没有

我去年创建了一个ASP.net web应用程序。我收到了一个让我烦恼的bug报告

有一个HTML SELECT元素显示在所有用户的网页中。使用jQuery填充选项元素。它们没有
数据-
属性或任何异常,只有内部文本和
值属性

我收到(并复制)的bug报告说,当用户单击SELECT元素时,程序挂起并显示“停止运行此脚本?”消息。我能看到的唯一区别是,对于这个用户,SELECT元素几乎包含2000个选项。但是,我不知道为什么会出现“停止运行此脚本?”消息

据我所知,SELECT上的.click处理程序没有附加任何事件,但不知何故,每次单击它时都会运行一堆JavaScript

我尝试在为页面编写的.js文件中插入断点,但在这种情况下没有一个断点被命中。当用户单击SELECT元素时,如何找到正在运行并导致程序挂起的代码

顺便说一句,我相信我的用户正在使用IE8和on选项升级或使用任何其他浏览器

更新以回应评论:为了清楚起见,我确信有一些JavaScript代码导致程序挂起并显示“停止运行此脚本?”消息。问题是,我很难确定到底是哪种代码导致了问题


一个更简洁的问题是,“当‘停止运行此脚本’消息出现在IE8中时,是否有某种方法可以找出该消息出现时解释器在JavaScript代码中读取的位置?”

我想我可能已经找到了答案

我认为我的问题的答案是使用InternetExplorer内置调试器中的“全部中断”功能。这停止了jQuery事件处理代码中的脚本。似乎不知何故,这里触发了大量事件,尽管我不相信选项元素中有任何事件


在进一步研究之后,发现问题与jQueryUI在我的页面上的使用方式有关。SELECT恰好位于jQueryUI对话框中。以下是我在这里找到的建议:(http://stackoverflow.com/questions/3239841/jquery-ui-dialog-slow),我将对话框的draggable属性设置为false,现在可以正常工作了

可能的原因可能是

  • 用户正在安装一些插件来监视选择 改变
  • 用户正在运行IE调试器。这将使脚本 慢
  • 另外,IE JavaScript引擎速度非常慢


    *****************************************************?你说你是通过jQuery进行填充的,你能展示一下代码吗?听起来像是典型的IE。如果我是你,我会看看我是否可以在IE上复制,然后看看减少元素数量是否可以解决它。选择元素有2000个选项?!我想你可能想重新考虑你的方法。@Danielallengdon我不是说永远降低它。但是如果你降低它,错误消失了,那么瞧,你知道原因,你可以告诉编写这些荒谬要求的人,一定有更好的方法从2000个项目中选择一个查询自动完成会很好,但不幸的是,我的选择允许多个。你可以很容易地为此开发一个插件(打一个ajax电话,用小胡子呈现一个复选框列表)。或者告诉你的客户,不要使用IE::PThanks作为你的建议,但结果是问题出在其他方面。你能发布问题的原因吗?我真的很想知道真正的原因