Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从iframe绑定到父元素click事件的jQuery_Javascript_Jquery_Html_Iframe_Javascript Events - Fatal编程技术网

Javascript 从iframe绑定到父元素click事件的jQuery

Javascript 从iframe绑定到父元素click事件的jQuery,javascript,jquery,html,iframe,javascript-events,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"); }); 这几乎奏效了

早些时候,我发布了一个类似的问题,并收到了一个答案,在遇到新问题之前,我只能部分解决这个问题

这是我的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");
});