jBox 是個不錯的對話框元件。
在 ASP.NET Form 中使用 jBox 的時候,在按鈕註冊的客戶端點擊事件中,會發現不能跳出對話框問題。
表現為頁面一閃就提交了,導致對話框一閃而過,甚至根本看不到。導致模式對話框失敗。
首先,按鈕會有預設處理,對於普通的 ASP.NET 按鈕來說,會導致表單的提交,提交表單導致了頁面的刷新。所以,為了不提交表單,就需要阻止按鈕預設的行為,這可以透過下面的程式碼實現。
function stopDefault(>
function stopDefault( e ) { ; the default browser action (W3C)
if ( e && e.preventDefault )
e.preventDefault();
else
// A shortcut for stoping the browser action in IE
// A shortcut for stoping the browser action in IE
// A shortcut for stoping the browser action in IE
// A shortcut for stoping the browser action in IE
// A shortcut for stoping the browser action in IE
// A IE. event.returnValue = false;
return false;
}
複製程式碼
程式碼如下:
var btnSaveId = "";
var form1Id = "";
複製代碼
程式碼如下:
// 註冊按鈕的點擊事件處理
$("#" btnSaveId).click(function ( e ) {
/ / 設定在關閉對話的時候提交表單
var options = {
closed: function () {
alert("submit");
// 找到需要提交的表單
$( "#" form1Id ).submit();
}
};
// 顯示jBox 對話方塊
var info = 'jQuery jBox
版本: v2.0
日期:2011-7-24
';
info = '官網:
http ://kudystudio.com/jbox';
$.jBox(info, options );
// 阻止預設的事件處理
stopDefault(e);
});
對jQuery 來說,在事件處理方法中傳回false 可以完成類似功能。
複製程式碼
程式碼如下:
function stopBubble(e) {
function stopBubble(e) { else
// Otherwise, we need to use the Internet Explorer
// way of cancelling event bubbling
window.event.cancelBubble = true;
}
window.event.cancelBubble = true; }