sjinsa 2015-10-13 05:49 采纳率: 0%
浏览 1835

关于js的click事件的问题

1、首先main.jsp中有一个图层控制按钮id=“layerTreeBtn”。
2、在主js-index.js中编写了该按钮的点击事件,点击事件弹出一个对话框。代码如下:
query(”#layerTreeBtn“).on('click',function){
$("#toolBarDialogs").window({
title:‘图层列表’,
href:'dialogs/tool/layerTreeBtn.html'
})
}
3、链接的html代码如下:

require(["js/layerTree"],function(layerTree){ layerTree.test("layerTree"); })



4、layerTree.js函数如下:
define(“js/layerTree”,["js/initialTreeLayers"],function(initialTreeLayers){
var back{};
back.test=function(divId){
var tree=globalResult;
initialTreeLayers.initialTreeLayers(tree,divId,function{
})
}
retrun back;
})
备注:initialTreeLayers是个加载图层树的函数。
代码运行的结果就是页面第一次刷新,点击按钮能成功加载图层树,第二次就显示不出来,,,,
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 11:39
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你提供的代码似乎没有完全正确地实现你的需求。当你在页面上点击按钮时,你应该能够触发JavaScript事件,并且应该能够在浏览器的DOM中找到相应的元素。如果你的onclick属性被设置为'#layerTreeBtn',那么这个点击事件应该会绑定到#layerTreeBtn元素上。

    此外,在你的define函数中,你需要使用#而不是.来引用DOM元素,因为#是jQuery选择器中的特殊字符,表示根节点。因此,正确的代码应该是这样的:

    define("js/layerTree", ["js/initialTreeLayers"], function (initialTreeLayers) {
        var back = {};
        back.test = function (divId) {
            var tree = globalResult;
            initialTreeLayers.initialTreeLayers(tree, divId, function () {
                // Do something with the returned data here
            });
        };
        return back;
    });
    

    现在,你可以像这样调用你的函数:

    var testFunction = layerTree.test("#layerTreeBtn");
    

    这将返回一个新的对象,其中包含用于测试的方法和回调函数。然后你可以调用这些方法来执行你的操作。

    评论

报告相同问题?