Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 将js添加到MapBox弹出窗口_Javascript_Jquery_Mapbox - Fatal编程技术网

Javascript 将js添加到MapBox弹出窗口

Javascript 将js添加到MapBox弹出窗口,javascript,jquery,mapbox,Javascript,Jquery,Mapbox,目前我有一个输出标记的mapbox地图,每个标记弹出窗口中都有一个链接,一旦单击,它将只显示相对于单击的原始标记的标记 “查看区域”链接的结构如下: 查看区域 结果是: $'.view_areas'.单击函数{console.log'test'} 但是,单击链接无法从控制台生成任何类型的结果。这是因为在单击标记之前,它不存在于DOM上吗?我也尝试过这样做: view areas 函数视图_区域{console.log'test';} 但这会产生一个函数未找到错误。基本上,链接将用作切换,但是由于

目前我有一个输出标记的mapbox地图,每个标记弹出窗口中都有一个链接,一旦单击,它将只显示相对于单击的原始标记的标记

“查看区域”链接的结构如下:

查看区域

结果是:

$'.view_areas'.单击函数{console.log'test'}

但是,单击链接无法从控制台生成任何类型的结果。这是因为在单击标记之前,它不存在于DOM上吗?我也尝试过这样做:

view areas

函数视图_区域{console.log'test';}


但这会产生一个函数未找到错误。基本上,链接将用作切换,但是由于屏幕上有大量的标记,使用层有点不切实际。

是的,这正是因为元素是在DOM加载后动态添加到页面的。通过将单击处理程序附加到父元素(如document)并使用以下语法,可以使用以.view_areas元素为目标:

$(document).on('click', '.view_areas', function() {
    console.log('test');
});
此策略基本上可用于任何动态添加的元素,并将以on的第2个参数中指定的子元素为目标。如果知道模态/对话框包含在未动态添加到页面的特定元素中,则可以将其作为目标,而不是文档/正文/等


希望这有帮助

你是我的英雄
$('.somePermanentContainerElement').on('click', '.view_areas', function() {
    console.log('test');
});