Home  >  Article  >  Web Front-end  >  Regarding the $("body").append() piece of html code, writing it on the page can trigger an event, but writing it in a js file will not_html/css_WEB-ITnose

Regarding the $("body").append() piece of html code, writing it on the page can trigger an event, but writing it in a js file will not_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:58:341649browse

$('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>');


For the same piece of code, if I write this js directly on the page, it is absolutely fine. But if I write it in a js file (this js file was introduced later than the UI framework js), this code only renders the style, but the event has no effect at all.

For example, in the picture, after clicking on the user, a drop-down menu will pop up.
If js is written in the page, click "↓" and the "Change Password" menu will pop up
But if js is written in a separate js file, and then import this js file, click "↓" and nothing will happen reflect.

What could be causing this?


Reply to discussion (solution)

This depends on the loading order of js files

This js file was introduced later than the UI framework js)



In this way, you will miss the initialization event in the framework code


this js files were introduced later than the UI framework js)



In this way, you miss the initialization event in the framework code

I don’t understand it at all

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


Now you can write it like this, and then I will change the 3f1c4e4b6b16bbbd69b2ee476dc4f83a directly to src="XX.js" here. In this way, the changed loading order and the order of directly writing the code should be the same. Same?

up `````

You can try to quote it before the body tag is closed, not necessarily in the head. Just like JS can be written anywhere.

You can try to quote it before the body tag is closed, not necessarily in the head. Just like JS can be written anywhere.



But I didn’t quote it in the head. .
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn