我的項目中有多個jQuery文件。 昨天發現了這個問題並找到了解決辦法。我編輯這ajax asp.net和jQuery的衝突
$(document).ready(function() {
與此
function pageLoad() {
現在的問題是,如果我將在我所有的jQuery的文件,使用此。每個腳本都將停止工作。
我的項目中有多個jQuery文件。 昨天發現了這個問題並找到了解決辦法。我編輯這ajax asp.net和jQuery的衝突
$(document).ready(function() {
與此
function pageLoad() {
現在的問題是,如果我將在我所有的jQuery的文件,使用此。每個腳本都將停止工作。
這是兩回事。
$(document).ready(function() {
是來自和jquery,它告訴何時加載DOM,它開始執行裏面的代碼。
的
function pageLoad() {
是ASP.NET,它是Application.Load(客戶端)
之所以會停止工作是處理程序之一,因爲在同一個頁面上你只能有一個具有相同名稱的事件,默認情況下,pageLoad將是Application.Load的處理程序,但您可以關聯另一個名稱。我不明白你們之間爲什麼會遇到問題,你能解釋一下嗎?
編輯: 您的評論後,如果你想/需要使用Sys.Application.add_load(默認pageLoad)你應該爲每個你需要的js文件添加一個不同的名稱。
從MSDN:
// Attach a handler to the load event.
Sys.Application.add_load(applicationLoadHandler);
function applicationLoadHandler() {
// Redirect to alternate page if not business hours.
var d = new Date();
if (!(8 < d.getHours() < 17)) {
window.location = "AfterHours.aspx";
}
正如你所看到的,你可以給一個不同的名稱add_load,你應該給一個不同的名稱使用一個以上的在同一頁/請求。
}
pageLoad只有一個jquery腳本文件效果很好。如果我將使用pageLoad更新兩個jquery文件。這兩個停止工作。我在asp.net中使用ajax時,當我按下幻燈片顯示將隱藏(停止工作) – 2012-02-08 10:02:15
剛編輯我的答案。 – 2012-02-08 10:05:06
謝謝。我不知道如何使用它你可以告訴我的方式或一些教程? – 2012-02-08 10:11:16
更換pageLoad
像這樣的東西:
$(function() {
// This will be executed when the page is loaded
});
或以避免名稱衝突...
(function($) {
// This will be executed when the page is loaded
})(jQuery);
編輯:作爲rich.okelly指出的第二個例子就溜跑當腳本被加載時。
您的第二個示例將在腳本加載後立即執行,而不是在頁面加載完成時執行。 – 2012-02-08 09:48:32
這是一個好點,謝謝 - 現在會更新。 – mdm 2012-02-08 09:49:09
感謝mdm重播。我嘗試了他們兩個,但沒有幫助我 – 2012-02-08 10:02:59
你怎麼知道存在衝突? JavaScript控制檯出現什麼錯誤? – Hawxby 2012-02-08 09:47:48
我有jQuery幻燈片放映時。我在asp.net中使用ajax當我按下幻燈片顯示將隱藏(停止工作)這是錯誤:資源解釋爲其他,但與MIME類型未定義傳輸。 – 2012-02-08 09:58:28
這聽起來不像jQuery衝突。看看螢火蟲網絡流量,這聽起來像是要求的東西不能正確返回。 – Hawxby 2012-02-08 14:01:21