【问题标题】:.NET MVC Bootstrap: shown.bs.dropdown Not Working.NET MVC 引导:显示的.bs.dropdown 不工作
【发布时间】:2015-06-15 15:01:43
【问题描述】:

我正在尝试使用 id 为“navul”的 ul 上的“shown.bs.dropdown”事件。似乎无法让它工作。这是我的脚本:

<script>
    $('#navul').on('shown.bs.dropdown', function () {
        alert('hello');
    })
</script>

这是我的 HTML:

<div class="navbar navbar-inverse">
    <div class="container">
        <ul id="navul" class="nav navbar-nav">
            <li role="presentation" class="dropdown">
                <a data-toggle="dropdown" href="#"><img src="/Content/images/IconsNav/nav_appts.png" style="padding: 0px 5px 3px 0px;">Appointments<span class="caret"></span></a>
                <ul class="dropdown-menu" role="menu">
                    <li>@Html.ActionLink("YourAppointments", "YourAppointments", "Appointments")</li>
                    <li>@Html.ActionLink("Schedule Appointment", "ScheduleAppointment", "Appointments")</li>
                </ul>
            </li>
        </ul>
    </div>
</div>

我从来没有收到警报。我究竟做错了什么?我正在解决这个问题:

http://getbootstrap.com/javascript/#dropdowns

谢谢!

【问题讨论】:

  • 我对 twitter-bootstrap 并没有 100% 满意 - 尝试使用更高的元素 ID 之一,例如“.navbar”
  • 试过了。我在第一个 div 中添加了一个 id,并更改了 javascript 以匹配。没有运气。然后是第二个div。还是没有运气。

标签: javascript jquery asp.net-mvc twitter-bootstrap


【解决方案1】:

.on事件只有在调用.on时元素已经存在时才会注册该事件,如果你的脚本太快,它不会注册,尝试在准备好的jquery文档中加载,即:

<script>
    $(function() {
        $('.navbar').on('shown.bs.dropdown', function () {
            alert('hello');
        })
    });
</script>

【讨论】:

  • 嗯。似乎是一个可靠的想法,但仍然无法正常工作。我找到了这个工作示例。我会看看我是否可以复制它,然后修改它以满足我的需要。 bootply.com/114783
  • 我进入 getbootstrap 页面,打开控制台 (F12),输入 $(".navbar").on("shown.bs.dropdown", function() { alert("x"); }) 然后进入页面上的“导航栏内”示例并单击 Dropdown[v] - 它发出警报.
  • 是的,我的页面似乎还有其他问题。我无法让任何 JavaScript 工作。得花一些时间在 Fiddler 上看看出了什么问题。
猜你喜欢
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 2016-11-19
  • 1970-01-01
  • 2014-12-30
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
相关资源
最近更新 更多