2016-02-11 43 views
1

我使用jstree自定义上下文菜单,并试图定义创建选项。我已经有了一个执行预定逻辑的按钮,但它在不同的页面上。我将如何去使用JavaScript/jQuery来调用不同页面上的按钮?jquery调用不同页面的按钮

这是我的页面中的JavaScript文件中的上下文菜单,名为middlenav.aspx。我想引用按钮是一个叫navbar.aspx

UPDATE页:我能得到它的工作部分。我可以调用该按钮,但会导致当前页面刷新。我该如何避免刷新当前页面middlenav.aspx

"contextmenu": { 
      "items": function ($node) { 
       return { 
        "Create": { 
         "label": "Create", 
         "action": function (obj) { 
          createItem(obj); 
         } 
        }, 
        "Rename": { 
         "label": "Edit", 
         "action": function (obj) { 
          this.rename(obj); 
         } 
        }, 
        "Delete": { 
         "label": "Delete", 
         "action": function (obj) { 
          this.remove(obj); 
         } 
        } 
       }; 
      } 
     }, 

// Updated 
function createItem(obj) { 
    $.ajax({ 
     url: "navbar.aspx", 
     success: function (data) { 
      $('body').append(data); 
      $("#btnNewItem").click(); 
     } 
    }); 
+2

你不能打电话,是不是在DOM元素。您可以重构要调用的逻辑并从两个页面中调用它,或者使用Ajax并调用逻辑方法... – Zaki

+0

我能够部分使用ajax方法,但它会导致我的页面刷新。是否有可能以避免这种情况的方式编写它? (请参阅上面的更新代码) – usr4896260

+0

@Zaki说的是将逻辑放到原始页面中的全局JavaScript文件中。当你点击**任一**页面中的按钮时,调用该全局函数。 – jp2code

回答

0

我不知道这是否是最有效的方式,但我可以用下面的函数来完成它:

function createItem(obj) { 
    $.get("navbar.aspx", function (data) { 
     $('myHiddenDiv').append(data); 
     $("#btnNewItem").click(); 
     window.stop(); 
    }); 
} 
相关问题