我的jQuery函数在我的指令中不起作用。
这是我的指令:
app.directive('responsiveNav', function () {
return {
restrict: 'E',
link: function (element) {
var pull = $('#pull');
var menu = $('.nav-bar ul ul');
var menuHeight = menu.height();
$(pull).on('click', function (e) {
e.preventDefault();
menu.slideToggle();
});
$(window).resize(function () {
var w = $(window).width();
if (w > 320 && menu.is(':hidden')) {
menu.removeAttr('style');
}
});
}
};
});
HTML:
<div class="header" responsive-nav>
<div class="nav-bar">
<ul style="padding:15 0 15 0;height:50px;">
<li style="border-right: none;">
<a href="" style="padding:0;"><img src="assets/images/who-logo.png"></a>
</li>
<a href="#" id="pull">Menu</a>
<ul style="float:right;list-style-type:none;padding:8.5 0 8.5 0;">
<li><a class="active" href="">Home</a></li>
<li><a href="">About us</a></li>
<li><a href="">Tickets</a></li>
<li><a href="">Event</a></li>
<li><a href="">Gallery</a></li>
<li><a href="">Video</a></li>
<li><a href="">Contact</a></li>
<li style="border-right: none;"><a><i class="fa fa-facebook" style="font-size: 1.5em;"></i></a></li>
<li style="border-right: none;"><a><i class="fa fa-instagram" style="font-size: 1.5em;"></i></a></li>
<li style="border-right: none;"><a><i class="fa fa-twitter" style="font-size: 1.5em;"></i></a></li>
</ul>
</ul>
</div>
</div>
该指令甚至不对单击做出反应,#pull
并且我的控制台没有错误。希望您理解问题。欢迎任何帮助!
您的指令仅限于Element by
restrict: 'E'
但是,您已将该指令作为属性。
<div class="header" responsive-nav>
restrict: 'A'
是解决问题的一种方法。
我也不同意您在这里使用jquery的某些方式。尽量使角度。
请花一些时间来参考角度指令文档,以更好地利用框架的这一强大功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句