>  기사  >  웹 프론트엔드  >  关于$("body").append()一段html代码,在页面写能触发事件,写在js文件里写就没有_html/css_WEB-ITnose

关于$("body").append()一段html代码,在页面写能触发事件,写在js文件里写就没有_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 11:58:341649검색

$('body').prepend('<div id='nav' class='navbar'><div class='navbar-content'><a href='/' class='element'><span class='icon-grid-view'></span> 后台管理 <sup>1.0 Beta</sup></a> <span class='element-divider'></span> <a class='pull-menu' href='#'></a><div class='no-tablet-portrait'><div class='element place-right'><a class='dropdown-toggle' href='#'><span id='spanUser'>刁静?2</span><span class='icon-user-2'></span></a><ul class='dropdown-menu place-right' data-role='dropdown'><li><a href='#'>密码修改</a></li></ul></div><span class='element-divider place-right'></span></div></div></div>');


同样一段代码,我如果直接把这段js写在页面上,完全可以。 但如果我写在一个js文件里(这个js文件比UI的框架js晚引进来),这段代码只把样式渲出来了,但事件完全不起作用。

 比如图中,点用户后会弹出一个下拉菜单。
如果js写在页面中,点“↓”就会弹出“修改密码”菜单
但如果js写在一个单独的js文件中,再引入这个js文件,点“↓”就没任何反映。

这可能是啥问题造成的啊?


回复讨论(解决方案)

这就要看 js 文件的加载次序了

这个js文件比UI的框架js晚引进来)



这样你就错过了 框架代码中的初始化事件


这个js文件比UI的框架js晚引进来)



这样你就错过了 框架代码中的初始化事件

有一点不明白

    <link href="css/UI.css" rel="stylesheet" />    <script src="js/UI.js"></script><body></body><script type="text/javascript">$("body").append()</script>


现在这样写可以,然后我在这里,<script>这块直接换成src="XX.js", 这样改后的加载顺序和直接写代码顺序应该都是一样的啊? <p class="sougouAnswer"> <p class="sougouAnswer"> up ````` <p class="sougouAnswer"> 你可以尝试在body标签关闭前的地方引用啊,不一定要在head里面。就像JS可以写在任何地方一样。 <p class="sougouAnswer"> <p class="yy"> 你可以尝试在body标签关闭前的地方引用啊,不一定要在head里面。就像JS可以写在任何地方一样。 <br /> <br /> 可是我没在head里引用。。 </script>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.