jQuery绑定到iframe的父元素点击事件

时间:2012-09-05 19:04:55

标签: javascript jquery html iframe javascript-events

我之前发布了一个类似的问题并得到了答案,我只能在遇到新问题之前才能部分工作。

这是我的iframe中的$(document).ready()中的代码:

$("button#arrow-left", window.parent.document).on("click", function () {
    console.log("Got here");
    $(document).trigger("VEHICLE.CONTROLS.PRESSED_LEFT");
});

这几乎可行。当我单击父文档上的左箭头时,我现在将“到这里”转储到我的控制台中。但是,据我所知,“VEHICLE.CONTROLS.PRESSED_LEFT”事件永远不会被触发。

在我的iframe javascript的另一部分中,我有以下几行:

$(document).on("VEHICLE.CONTROLS.PRESSED_LEFT", function () {
    console.log("Left button pressed, triggering left swipe.");
    $("div#swipe-container").swipe('swipe_left');
});

第二个控制台日志永远不会发生,我的滑动插件不会执行左侧滑动。

有人能告诉我我做错了吗?

如果它是相关的,我基本上采用HTML5 / JS应用程序构建为在车辆中运行并将其移植到浏览器。应用程序本身在iframe中运行,父文档具有一些模拟车辆控件。

我知道我可以直接绑定到触发滑动的代码区域内的按钮单击,但我的想法是我有一个JS文件充当应用程序和目标API之间的媒介。这样我可以保持代码同步,无论它是在实际车辆中运行,还是只在我的模拟器中运行。

编辑:此外,这几乎与我在使用实际车辆API之前所使用的功能相同。我在使用车辆API时如何设置控件的示例:

sdk.vehicle.watchButtons("left", function () {
    $(document).trigger("VEHICLE.CONTROLS.PRESSED_LEFT");
});

0 个答案:

没有答案
相关问题