我已经好几天了。 我想要做的是使用导航菜单中的选项,我必须在java脚本/ jquery中触发onload事件。然而,事件并没有激发。我也试过使用onselect和onclick,但没有用。 该事件应该将数据带入我的模板。 也许我犯了一个我无法看到的错误。或者还有另一种更好的方法吗?
这是我的导航栏。你可以看到我试图使用的onselect功能。
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">MEK Steel</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li>
<a href="home.html">Home</a>
</li>
<li class="dropdown" >
<a href="#" class="dropdown-toggle" data-toggle="dropdown">About <b class="caret"></b></a>
<ul class="dropdown-menu">
<li>
<a href="about.html#about">About Us</a>
</li>
<li>
<a href="about.html#history">History</a>
</li>
<li>
<a href="about.html#privacyPolicy" >Privacy Policy</a>
</li>
<li>
<a href="about.html#termsAndConditions">Terms and Conditions</a>
</li>
<li>
<a href="about.html#disclaimer">Disclaimer</a>
</li>
</ul>
</li>
<li class="dropdown" class="active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Manufactured Products <b class="caret"></b></a>
<ul class="dropdown-menu">
<li onselect = "steelProducts()">
<a href="steelProducts.html">Steel Products</a>
</li>
<li onselect = "steelDoors()">
<a href="steelDoors.html">Steel Doors</a>
</li>
<li onselect="digitalSafes()">
<a href="digitalSafes.html">Digital Safes</a>
</li >
<li onselect="securityEq()">
<a href="securityEquipment.html">Security Equipment</a>
</li>
<li onselect="storageSol()">
<a href="storageSolutions.html">Storage Solutions</a>
</li>
<li onselect="steelFur()">
<a href="steelFurniture.html">Steel Furniture</a>
</li>
</ul>
</li>
<li>
<a href="services.html">Services</a>
</li>
<li>
<a href="contact.html">Contact</a>
</li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container -->
</nav>
这是我的javascript。我只写了一个用于测试的目的
function showTemplate(template, data){
var html = template(data);
console.log(html);
$('#content').html(html);
}
function securityEq(){
source = $("#productsTemplate").html();
secEqTemp = Handlebars.compile(source);
showTemplate(secEqTemp, data);
}
答案 0 :(得分:1)
$(document).ready(function () {
$('a').on('click', function (){
alert($(this).html());
});
});
您需要引用锚点而不是列表标记。
答案 1 :(得分:0)
在你解释了你想要做什么之后
@Chax我试图让onselect在标签之前工作。就像我想加载数据并将其放在我的模板中,然后显示页面。
我想出了这段代码
$(document).ready(function(){
$('a').click(function(){ // Bind a click event to my <a> tag
var linkValue = $(this).attr('data-link'); // Retreive the value of data-link aka where we want to go
// Do something, your logic
window.location.href = linkValue; // Load the new page
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a data-link="http://www.google.com">I'm a link</a>
<!-- Notice that the tag below doesn't have a href attribute but does have a data-link attribute-->
&#13;
这段代码的作用很简单。我们将click事件绑定到DOM中的每个<a>
标记。当我们点击其中一个标签时,我们执行该功能。请注意,您可以使用switch
区分按钮。然后我们调用window
对象并使其调用我们想要的页面。
答案 2 :(得分:-1)
检查这个jsfiddle当我使用<script>
将js代码放在html中时,它可以正常运行并触发事件