0
私の_MainLayout(parentlayout)では、いくつかのJSファイルを参照しています。私はJSファイルでこれを設定した場合、私のマスターページ (によって読み込まれAsp.Net MVC 3 - PartialView(Ajax)用のJSファイルの複製
$.ajax(link, {
dataType: "html",
cache: false,
success: function(data, textStatus, jqXHR) {
return pageDownloaded(data, a);
},
complete: function (jqXHR, textStatus) {
//add .on event
}
});
と
function pageDownloaded(data, anchor){
var link = anchor.attr("href").replace(/^\#/, ""),
title = anchor.attr("title"),
id = link.replace(/[\/\.]/,"-"),
target = "#main-content",
div = $('<div style="left: 100%" id="'+id+'">'+data+'</div>').appendTo($(target));
$("#wrapper > section > section > header h1").html(title);
if ($('#wrapper > section > section').css('position')=='absolute') {
$("> div:last", target).css({left: 0, position: 'relative'}).siblings().remove();
$('#wrapper > section > section').show().animate({left: 0}, 300, "easeInOutQuart", function(){$(this).css('left',0);});
} else {
/* $("> div", target).animate({left: "-=100%"}, "slow", "easeInOutQuart", function(){
$(this).css('left',0);
$("> div:last", target).css({position: 'relative'}).siblings().remove();
});*/
$("> div", target).animate({ left: "-=100%" },500, function() {
$(this).css('left', 0);
$("> div:last", target).css({ position: 'relative' }).siblings().remove();
});
}
$(window).trigger('drilldown');
}
問題:
Partialviewsは、次のJavaScript/jQueryの機能を使用してdiv要素に追加されますすべてのページに追加されるデフォルトアクション(日付入力、...)
(function($){
$.fn.placeholder = function(options) {
return this.each(function() {
if (!("placeholder" in document.createElement(this.tagName.toLowerCase()))) {
var $this = $(this);
var placeholder = $this.attr('placeholder');
$this.val(placeholder).data('color', $this.css('color')).css('color', '#aaa');
$this
.focus(function(){ if ($.trim($this.val())===placeholder){ $this.val('').css('color', $this.data('color'))} })
.blur(function(){ if (!$.trim($this.val())){ $this.val(placeholder).data('color', $this.css('color')).css('color', '#aaa'); } });
}
});
};
})(jQuery);
$(document).ready(function() {
$('input[placeholder]', target).placeholder();
$("input[type=date]", target).dateinput();
$("input:checkbox,input:radio,select,input:file", target).uniform();
});
PartialViewで再度参照する必要があります。 もう一度jquery.min.jsファイルを参照する必要があります...
この重複の問題をどうやって解決できますか?
私はhashcange jqueryプラグインを使用しているので、これは不可能です。これにより、ドキュメント上のpartialviewを読み込み、私のゲストがURLをブックマークして正しいページにリダイレクトできるようになります:)。 追加アドバイス – NicoJuicy