事件未调用元素,但我可以确认它们已被附加

时间:2012-03-20 04:46:45

标签: javascript javascript-events

提前抱歉我没有很好的短代码示例来显示这篇文章。我正在开发的应用程序中遇到一个非常奇怪的问题。我写了一些自定义滚动条代码,在这个实例中,我添加到其中一个滚动条“句柄”的事件处理程序都没有被调用。

您可以看到应用here

要查看问题,只需在左上方搜索“生物”,然后选择第一个结果。等待在右窗格中加载一些结果。右侧窗格中“新建”的滚动条不应响应鼠标单击。如果切换到使用的选项卡,它将会。

现在在你认为我把事件附加到它之前,试试这个。

如果你使用chrome或任何带有简易javascript控制台的东西,你可以运行

$('.bs-scroll_bar_handle').mousemove(function(){console.log('moved');});

现在,每当您将鼠标移动到其中一个滚动条上时,它应记录为“已移动”。它适用于搜索结果中使用的选项卡,但不适用于新选项。

我已经使用Visual Event来确认事件处理程序是否已添加到元素中,我可以使用Visual Event手动触发它。

另一个注意事项。如果我只创建新选项卡而不是已使用的选项卡,它将正常运行。

即使你找不到确切的问题,我也非常感谢为什么会发生这种情况的建议。

谢谢!

1 个答案:

答案 0 :(得分:0)

您的所有代码看起来都不错,只需要在滚动条上的内联元素样式中添加z-index: 999;即可:

<div class="bs-scroll_bar_handle" style="visibility: visible; height: 310px; top: 0px; z-index: 999;"></div>