【问题标题】:Passing data from one js to another js将数据从一个 js 传递到另一个 js
【发布时间】:2019-11-04 07:09:42
【问题描述】:

我有两个 js:(第一个)是我可以添加地图的地方,我可以在其中单击按钮并绘制形状(地理区域),(第二个)是我可以使用颜色选择器和 Summernotes 更改形状的颜色和不透明度的地方.

我可以使用

在 (2nd) js 中的颜色选择器中获取颜色
$('#colorpicker'+no).colorpicker().on('changeColor', function() {
            var no = $(this).attr('map'); 
            var color = $('#txtGeoColor'+no).val();
            console.log("color1 : " , color);
        });

及其在 document.ready(function()) 中。

是否可以从 (2nd) js 调用颜色并将其传递给此代码中的 (1st) js:

$("#mapContainer").on("click", ".btnCircleDraw",function(){
        var circleDrawer = new L.Draw.Circle(map, {
            shapeOptions: {
                color: (must call the color here)
            }
        });   
        circleDrawer.enable();
    });

【问题讨论】:

  • 我不知道您使用的是什么 colorpicker 库,但通常对象都有自己的 getter 函数,所以我最好的猜测是查阅所述颜色选择器的文档并使用该方法获取选中的颜色,然后onclick,调用getter方法
  • 尝试将第一个 $('#colorpicker'+no).colorpicker().... 嵌入一个函数并在内部调用它 (color:callingfunction())

标签: javascript php codeigniter leaflet leaflet.draw


【解决方案1】:

在第二个文件中使用颜色变量。您需要在第二个文件上方导入第一个文件。喜欢

文件 1:

var color = '';
$('#colorpicker'+no).colorpicker().on('changeColor', function() {
            var no = $(this).attr('map'); 
            color = $('#txtGeoColor'+no).val();
            console.log("color1 : " , color);
        });

文件 2:

$("#mapContainer").on("click", ".btnCircleDraw",function(){
        var circleDrawer = new L.Draw.Circle(map, {
            shapeOptions: {
                color: color
            }
        });   
        circleDrawer.enable();
    });

始终记住,在文件 2 之前导入文件 1,因为文件 2 包含一个在文件 1 中初始化和分配的颜色变量。

两个 js 文件将使用的文件。

<script src="file1.js">
<script src="file2.js">

【讨论】:

    猜你喜欢
    • 2017-03-26
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 2021-09-14
    • 2018-07-23
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    相关资源
    最近更新 更多