我創建了一個原型應用程序。我想通過html文件模板我的頁眉和頁腳。我使用jQuery加載加載這些。將事件綁定到使用jQuery加載的內容加載
在我的索引文件,我有這個在我body
第一部分:
<!--COMMON HEADER ------------- -->
<header id="common-include-header" class="blade child ns">
</header>
我包括通過其header.js之前在我的腦海/ script標籤中列出的文件名爲includes.js 。這裏是像這樣的includes.js:
$(document).ready(function() {
$("#common-include-header").load("includes/header.html");
$("#common-include-footer").load("includes/footer.html");
});
這裏是我的了header.html:
<div class="blade-content flexr xc sb">
<img src="img/logo100.svg"></img>
<div class="child g">
<form class="search-form flexr jc">
<input class="location" value="Auckland" />
<input class="context" placeholder="Find something" />
<button class="child ns"><i class="fa fa-search"></i></button>
</form>
</div>
<button class="search-toggle"><i class="fa fa-search"></i></button>
<div class="child ns">
<button class="sign-in-button pill outline pink">Sign in</button>
<button class="user-signed-in flexr xc hide">
<p>[email protected]</p>
<img src="img/av.png"></img>
<i class="fa fa-chevron-down"></i>
</button>
</div>
<nav class="signed-in-nav flexc">
<button type="button" class="dropdown-menu child ns">Favourites</button>
<button type="button" class="dropdown-menu child ns">Reviews</button>
<button type="button" class="dropdown-menu child ns">Businesses</button>
<button type="button" class="dropdown-menu sign-out child ns">Sign out</button>
</nav>
</div>
而且我header.js
$(document).ready(function() {
//hide/show mobile search
$(".search-toggle").on("click", function() {
if ($(".toggle-search").hasClass('open')) {
$(".toggle-search").removeClass("open");
} else {
$(".toggle-search").addClass("open");
};
});
//hide/show sign in
$(".sign-in-button").on("click", function() {
$(".sign-in-button").addClass("hide");
$(".user-signed-in").removeClass("hide");
});
//hide/show user menu
$(".user-signed-in").on("click", function() {
if ($(".signed-in-nav").hasClass("open")) {
$(".signed-in-nav").removeClass("open");
$(".user-signed-in").removeClass("open");
} else {
$(".signed-in-nav").addClass("open");
$(".user-signed-in").addClass("open");
};
});
//sign out
$("button.sign-out").on("click", function() {
$(".signed-in-nav").removeClass("open");
$(".user-signed-in").removeClass("open");
$(".user-signed-in").addClass("hide");
$(".sign-in-button").removeClass("hide");
});
});
我的問題是,事件處理程序AREN不綁定到.sign-in-button
。我會想,因爲我用jQuery .on
這會工作。我無法弄清楚。我哪裏錯了?
@MKA是對的!閱讀[事件代表團](https://learn.jquery.com/events/event-delegation/) – Rayon
什麼是不在'index.html'加載所有'html'的目的? – guest271314
@ guest271314因爲我有大約20個具有一致的頁眉和頁腳的文件,我正在加載它們,所以我有一個用於頁眉和頁腳的代碼庫 - 它是一個將在稍後模板化爲MVC框架的原型。只是試圖減少需要更新多個標題標籤,如果有什麼改變(它會)。 – lloydphillips