【问题标题】:Run Alert when clicking button JS单击按钮JS时运行警报
【发布时间】:2016-12-30 15:39:37
【问题描述】:

我试图在单击<a> 标记时发出警报。

$('#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>

单击按钮时没有任何反应。
我尝试了许多其他方法来运行警报,但似乎都没有影响到标签。

控制台日志不显示任何错误消息。

【问题讨论】:

  • 很可能,您的浏览器阻止了警报。尝试不同的浏览器以确保。根据您的浏览器,禁用阻止是不同的,我想 Google 是您最好的朋友。
  • 这有效:jsfiddle.net/bensnaize/6zscjf1n 所以也许你没有正确包含 jQuery。或者,正如@AndreiGheorghiu 所说,警报可能被阻止了。
  • Do you run $('#login-button1').click after the element with id login-button1 is added to the DOM (e.g. in the dom ready callback) 你可以通过在添加点击之前添加console.log($('#login-button1').length)来检查这一点回调,应该是1
  • 我编辑了您的问题,将代码转换为 sn-p。如果它不适合您alert,那是浏览器,正如我之前建议的那样。如果是这样,您没有像@G0dsquad 建议的那样在您的页面中包含jQuery

标签: javascript jquery angularjs events onclick


【解决方案1】:

看来你的项目是AngularJS。

如果你使用 AngularJS,你可以使用 ng-click 指令。

在 HTML 中:

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

在控制器中:

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

【讨论】:

    【解决方案2】:

    它应该可以工作,一切看起来都很好,确保你正确导入了 jQuery。像:

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

    或您希望使用的任何版本的 jQuery,代码可以在上面的版本中正常工作,如 Fiddle 中所示

    【讨论】:

    • 因为控制台没有报告错误,所以$('#login-button1') 没有找到任何元素的可能性更大。例如。因为它是在 dom 准备好之前执行的。如果不包含 jquery 则$(...) 会报错。
    • hmm.. 那么很明显应该做的是将所有内容嵌套在$(document).ready(function(){ ... })
    猜你喜欢
    • 2019-04-05
    • 2016-09-14
    • 2011-11-15
    • 2015-07-15
    • 2018-04-06
    • 2018-05-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    相关资源
    最近更新 更多