2014-06-04 121 views
-4

這是我的小部件。問題出在click函數。它會拋出Uncaught ReferenceError: showNewsMenu is not defined未捕獲ReferenceError:showNewsMenu未定義

當我把這條線放入我的razorView時會發生同樣的情況。我真的不知道什麼是錯的。爲什麼showNewsMenu沒有定義?

$(function() { 
    $.widget("someNamespace.CmsMenu", 
     { 
      options:{ 
       menuContainer:'.cmsLeftPanel' 
      }, 
      _create: function(){ 
      }, 
      showNewsMenu: function(){ 
       var button = document.createElement("input"); 
       button.type = "button"; 
       button.value = "Dodaj newsa"; 
       $(this.options.menuContainer).append(button); 
      } 
    }); 

    $('#NEWSY').click(showNewsMenu); 
    } 
) 
+0

這是由於範圍。您試圖引用在傳遞給'$ .widget()'的對象中創建的函數 – Ballbin

回答

0

該腳本幾乎是正確的。問題出在我的cshtml(razorView)文件中。

我做初始化

<script type="text/javascript"> 

    $(document).ready(function() {  
     $('.cmsLeftPanel').CmsMenu();  
    });  

</script> 

,但我忘了創建這個功能

<script type="text/javascript"> 

     function showNewsMenu() { 
      $('.cmsLeftPanel').CmsMenu('showNewsMenu'); 
    } 
</script> 

不,我可以用它在HTML類似的onclick = 「showNewsMenu()」 也像

$('#NEWSY').click(showNewsMenu); 

在我的cshmtl文件中。

相關問題