2016-02-11 41 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(); 
    }); 
} 
相關問題