2017-01-10 61 views
0

enter image description here在A HREF調用JavaScript函數重定向與Firefox,但鉻

的作品我有這樣

<a class="k-button k-button-icontext Gross" href="javascript:territoryTitleListViewModel.titleTerritoryKendoViewModel.GrossesTabView('#=data.CurrentTab#')" style="font-weight: normal;"><span class=" ">Grosses</span></a> 

territoryTitleListViewModel代碼是titleTerritoryKendoViewModel內的JavaScript是一個孩子的腳本和GrossesTabView是在子選項卡中可用。點擊傳遞當前標籤值。它工作正常,但它在Mozilla中發生錯誤。附上同樣的屏幕截圖。

self.GrossesTabView = function (currentTab) { 
     if (currentTab != TitleTerritoryTabsEnum.GROSSES) { 
      self.DirtyCheckMethod(currentTab); 

      self.parentViewModel.SubTabSelected(TitleTerritoryTabsEnum.GROSSES) 

      self.GrossEditClicked(false); 
      //getFormatsFilters(); //MG-63 Changes 
      self.GrossesView(currentTab); 
      self.setColor(TitleTerritoryTabsEnum.GROSSES); 
      return false; 
     } 
    } 

上面的代碼提供titleTerritoryKendoViewModel並返回false總是

+2

使用適當的事件處理程序,然後結合,而不是'HREF =「JavaScript的:」 ......' – CBroe

+0

如果您的問題被回答,請接受一個答案,關閉問題。 – ppasler

回答

2

你真的應該避免的JavaScript:URL,並使用正確的事件綁定。

但在回答你的問題,你可能需要在添加「返回」,以確保它傳遞迴正常,像這樣...

<a class="k-button k-button-icontext Gross" href="javascript:return territoryTitleListViewModel.titleTerritoryKendoViewModel.GrossesTabView('#=data.CurrentTab#')" style="font-weight: normal;"><span class=" ">Grosses</span></a> 
0

嘗試使用點擊事件,並調用功能從那裏。我把currentTab放在data- *屬性中。用event.preventDefault()甚至firefox都不會跟着鏈接。

我加了jQuery,因爲它比使用純JS更好。

$(".Gross").click(function(event){ 
 
    var data = $(this).data("tab"); 
 
    console.log("currentTab: ", data); 
 
    // territoryTitleListViewModel.titleTerritoryKendoViewModel.GrossesTabView(data); 
 
    // do not follow link 
 
    event.preventDefault(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<a class="k-button k-button-icontext Gross" href="#" data-tab="#=data.CurrentTab#" style="font-weight: normal;"><span class=" ">Grosses</span></a>

相關問題