2017-03-06 77 views
0

[編輯:解決]jQuery的不處理事件

對於那些可能會遇到同樣的問題jQuery的,我已經使用AngularJS和UI視圖與各國一直 。問題是,它 沒有找到按鈕,因爲它是動態的AngularJS 創建,以便解決我不得不搬到代碼控制器 內對這一觀點

[/編輯]問題

晚上好,

我正在使用jQuery腳本來修改元素的html。

(function($j){ 
    /* 
    *@ Event listeners 
    */ 
    let save_button = $j(".save-button"); 

    save_button.hover(function(){ 
    save_button.html("Save"); 
    console.log(this, save_button); 
    }, function(){ 
    save_button.html('<i style="vertical-align: middle;" class="glyphicon glyphicon-floppy-save"></i>'); 
    }); 

    console.warn("The script is loaded", $j); 
})(jQuery); 

這是我寫的腳本。在index.html頁面中,我有一個$ .noConflict()來確保它不會打擾AngularJS,並且在這個其他腳本中,我將函數內部的jQuery對象傳遞給它,並在其中使用$ j參數。

由於console.warn()被觸發,我可以從控制檯看到腳本內部寫的內容。

如果我console.log jQuery或$ j,它確實承認jQuery對象。

將jQuery庫正確放入加載順序中,此腳本是頁面加載的最後一個東西。我不知道爲什麼懸停,html,甚至jQuery的隱藏功能都不起作用。有任何想法嗎?

在此先感謝!

+0

的問題,當你CONSOLE.LOG會發生什麼(save_button),在'hover'方法之外 – inspired

+0

你好,謝謝你的提問。剛剛解決了這個問題。似乎用angularjs動態生成頁面導致了這個問題。它希望我把代碼放在控制器內,否則它不知道該按鈕是否存在。 – mnemosdev

+1

很適合找到問題!將它作爲答案自己發佈:D(而不是編輯);) –

回答

1

對於那些可能遇到相同的jQuery問題,我一直在 使用AngularJS和UI狀態與視圖。問題是,它 沒有找到按鈕,因爲它是動態的AngularJS 創建,以便解決我不得不搬到代碼控制器 內對這一觀點