[英]ASP.NET How do I get this jQuery to work persistently across page loads / post backs?
在ASP.NET中,我嘗試將mColorPicker(http://blog.meta100.com/post/600571131/mcolorpicker)與我的頁面一起使用。
它可以在初始頁面加載時工作,可以很好地選擇顏色,並且可以根據需要進行連接。 但是,當我更新頁面時(單擊一個按鈕以顯示另一個面板/隱藏其他面板),它突然停止工作,好像JavaScript不在那里。
我有以下代碼:
<script type="text/javascript">
$(document).ready(function () {
$('#color3').bind('colorpicked', function () {
$(".P_FrameDisplay_222").css("background-color", $(this).val());
});
});
</script>
...
<div style="margin: 5px; float: left;">
<input type="color" id="color3" value="#ff0667" data-text="hidden" style="width: 40px; height: 40px; border-style: none;" />
</div>
在使用其他JavaScript代碼之前,我曾遇到過此問題,要解決此問題,請使用此頁面加載javascript函數。
<script type="text/javascript">
function pageLoad() {
imagePreview();
}
</script>
我如何才能使它在頁面加載/回發之間持續工作?
我假設您使用updatepanels,在這種情況下,您可以使用頁面請求管理器來管理部分頁面更新。 像這樣:
//some initialization code
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function (sender, args) {
//some initialization code
});
看來您正在使用更新面板(我想是因為pageLoad
函數)。 因此,請記住在$(document).ready
上運行的任何內容,還需要在pageLoad
函數中運行(如果內容已替換)。
假設您使用的是最新的jQuery,請嘗試以下代碼段,但將其放在更新面板之外:(假設#color3僅顯示一次,如果您需要它在處理一類元素時應定義一個...類)
<script type="text/javascript">
$(document).ready(function () {
$('#color3').live('colorpicked', function () {
$(".P_FrameDisplay_222").css("background-color", $(this).val());
});
});
</script>
.live()
方法支持自定義事件以及所有冒泡的JavaScript事件。 [強調我的]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.