2014-09-04 87 views
3

我正在基於角度js的網站上工作。ng-click Vs點擊事件

目前,我已經在角度js中編寫了大約5000行代碼。

所以我必須做一些改動而不用碰我的角度js。

我想是這樣的:

$(document).on('click','#buttonid',function(){ 

    //performing some necessary task then call ng-click method 
    ngclickmethod(); 

}); 

HTML代碼:

<a ng-click="ngclickmethod()" id="buttonid"> 

請告知我怎麼能做到這一點。

非常感謝

+0

您的按鈕的單擊事件(由angular註冊)將被執行,無論角度還只是註冊處理程序。在這種情況下,您在冒泡到文檔時會得到該事件。所以角度點擊處理程序將最有可能被執行。你能提供一些實際的場景嗎?無論如何,你只需要做'angular.element(this).scope()。ngclickmethod()' – PSL 2014-09-04 21:47:52

+0

是的,這是我的觀點,我想先執行點擊事件然後點擊ng點擊事件。我已經有方法 – webfreaks 2014-09-04 21:51:20

+1

的註冊處理程序那麼你不應該使用事件委託。您應該直接在元素上註冊事件。 http://plnkr.co/edit/O25ZXZCcgZGss7O29ULt?p=preview。因此,基本上你必須將腳本標記保存在你的html上,該標記有這個錨標記並將事件綁定到它。 – PSL 2014-09-04 21:52:12

回答

2

因此,它看起來像你試圖調用的角度之外的角度的功能。試試這個..

angular.element(document.getElementById('yourControllerElementID')).scope().ngclickmethod(); 

這會調用你想要的方法。確保控制器元素ID是包含ngclickmethod函數的控制器

+0

Ya ...此代碼正在工作......感謝大家參與討論的內容...... – webfreaks 2014-09-04 22:13:32