2016-12-30 109 views
1

我試圖在單擊<a>標記時運行警報。單擊按鈕時運行警報JS

$('#login-button1').click(function() { 
 
    alert(1234); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <a ui-sref="tabsController.inCio" id="login-button1" class="button button-stable button-block LoginButton1" href="#/tabsController/home">Login</a>

沒有任何反應,當我點擊按鈕。
我試了很多其他的方式來運行警報,但沒有一個似乎影響了標籤。

控制檯日誌不顯示任何錯誤消息。

+0

最有可能,您的瀏覽器阻止警報。嘗試使用其他瀏覽器來確保。根據您的瀏覽器,禁用該塊是不同的,我想Google是您最好的朋友。 –

+1

這工作:https://jsfiddle.net/bensnaize/6zscjf1n/所以也許你沒有正確包括jQuery。或者,正如@AndreiGheorghiu所說,警報可能被阻止。 – G0dsquad

+0

你在ID爲'login-button1'的元素被添加到DOM(例如在dom就緒回調中)之​​後運行'$('#login-button1')。click',你可以通過添加console來檢查。 log($('#login-button1').length)'在添加點擊回調之前,它應該是'1'。 –

回答

2

看到代碼工作正常以上版本看來,你的項目是AngularJS。

如果使用AngularJS,您可以用NG-點擊指令。

在HTML:

<a ui-sref="tabsController.inCio" ng-click="alertMethod()" class="button button-stable button-block LoginButton1">Login</a> 

在控制器:

$scope.alertMethod = function() { 
     alert(1234); 
    } 
0

它應該工作,一切看起來正常的,請確保您有jQuery的正確導入。像:

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 

或任何的jQuery的版本你希望使用,如本Fiddle

+0

因爲控制檯報告沒有錯誤,所以'$('#login-button1')'找不到任何元素的可能性更大。例如。因爲它是在dom準備好之前執行的。如果沒有包含jquery,那麼'$(...)'會報錯。 –

+0

嗯..所以然後它非常清楚,應該做的是將所有嵌套在'$(document).ready(function(){...})' –