我有以下的jQuery的工具疊加:jQuery的工具疊加 - 用不同的條件接近的兩個按鈕
<div id='editDescriptiontOverlay' class='overlay'>
<input type='text' class='description'/>
<button class='save'>Save</button>
<button class='close'>Cancel</button>
</div>
背景信息:此疊加的HTML是靜態的。我有一個項目列表,每個項目都有自己的編輯鏈接。當點擊一個給定的鏈接時,通過調用:$('a[rel=#editDescriptionOverlay]').overlay({ ... });
來生成覆蓋圖,並且輸入被填充相應的文本。
的保存按鈕需要驗證輸入元素的文本和密切當且僅當驗證成功覆蓋。否則,疊加層必須保持打開狀態。 取消按鈕只是簡單地關閉覆蓋而不驗證。
驗證邏輯已經獨立驗證可以工作。
我已經嘗試在覆蓋圖生成期間設置onBeforeClose
事件作爲驗證的一種手段。採取這種方法,保存和取消按鈕需要相同的類.close
。不幸的是,該條件適用於覆蓋中的所有.close
元素,所以即使取消按鈕也正在驗證中。
我也試着產生疊加後立即綁定一個click事件到保存按鈕,就像這樣:
$('.save', $('#editDescriptionOverlay'))
.unbind('click')
.bind('click', function() {
if (validateText) {
console.log("Validation passed.");
$('a[rel=#editDescriptionOverlay]').overlay().close();
}
else {
console.log("Validation failed.");
}
});
的執行console.log的確認驗證工作,但沒有按覆蓋不結束。
任何洞察力表示讚賞,謝謝。 。
你能提供一個上述語句調用帶參數的方法的例子嗎?另外,這將如何鏈接到按鈕點擊? – kaspnord 2012-07-23 17:01:56