4

语境

我正在开发一个 JavaScript 应用程序,它允许用户远程控制 HTML+CSS+JS 幻灯片。

幻灯片是由一个将它从 powerpoint 转换而来的程序生成的。

问题

JavaScript 幻灯片是一个混淆的 JS 代码。但是,我已经能够使用 jQuery/JS 事件触发一些行为(例如,如果我调用.click()一个按钮,幻灯片将前进到下一张幻灯片)。

无论如何,当我单击某些元素时会触发一些行为,但是当我 .click()在与该元素对应的 jQuery 对象上调用 jQuery 时不会触发一些行为。

我的想法

我想模拟对某个元素的实际点击,因为我不确切知道点击它后触发的事件是使所需行为成为可能的事件。

那可能吗?或者,我是否错过了解决此问题的另一种方法?

我在这篇文章中尝试了一些东西,但它不起作用(什么也没发生)。

更多关于我的具体问题

您可以在此处查看示例幻灯片。(幻灯片是这个 JS)。

我想要触发的行为是当您单击缩略图(单击menu后看到的缩略图)时发生的情况。也就是说,我希望能够从一张幻灯片跳到另一张幻灯片。

我做出的一个有趣的观察是,在您抬起鼠标单击后会触发幻灯片更改,并且无论您使用左键还是右键单击都有效。

4

2 回答 2

2

正如有人在评论中让我注意到的那样,推荐的答案是正确的。我的错误是假设使用 jQuery 而不是纯 JavaScript 会以相同的方式工作(它没有,因为 jQuery 对象与 DOM 元素不同)。

当然,您可以使用 jQuery 获取 DOM 元素,但我没有这样做。(我通过 jQuery 的对象触发了事件,但它不起作用)。

顺便说一句,如果有人在寻找如何调试混淆的 JavaScript 时偶然发现了这个问题,我发现的另一个有用信息是关于使用 Google Chrome 的调试器检测正在运行的脚本中的事件处理程序的提示。这对于查看与点击不同的其他事件可能很有用。

于 2013-01-03T15:15:18.977 回答
0

没有办法模拟用户点击。所有框架的方法总是通过 javascript/jquery 触发事件,例如$(element).click();

对于您的特定情况,也许可以尝试一些鼠标事件,以涵盖所有可能的情况http://api.jquery.com/category/events/mouse-events/

其他方法可能是,如果可能的话,尝试用硒模拟行为。

于 2013-01-03T15:25:23.397 回答