說我通過使用jQuery顯示div,但我希望窗口的其餘部分(除div外的所有內容)對用戶無法訪問 - 因此所有控件都被禁用,用戶只能使用該特殊div中的控件執行某些操作?如何阻止使用jQuery進行輸入?
4
A
回答
4
您可以從您的<div>
元素構建一個modal dialog:
$("#yourDivID").dialog({ modal: true });
1
做「jQuery的收藏夾」的搜索,你會發現你是什麼之後,或使用jQuery的模態對話框,在另一個答覆中提到。
我喜歡燈箱,因爲他們用不透明蒙版覆蓋頁面,清楚地顯示控件被禁用/不可訪問。
2
請使用jquery一個簡單的修復博克UI插件
http://jquery.malsup.com/block/
,如果彈出你的z-index比所有的元素更大的背後,你不能碰的項目背後
給予z-index的像1000左右
1
而不是使用完全成熟的插件的東西,就是這麼簡單:
使用第二個div,其css位置爲fixed
,其width
和height
分別等於window.innerHeight
& window.innerWidth
屬性。將z-index
設置爲較大的值,但小於您顯示的模型對話框的z-index
。
$('<div />').css({
position: 'fixed',
left: 0,
top: 0,
width: window.innerWidth,
height: window.innerHeight,
'z-index': 1000
});
正如在評論中提到的那樣,這不會阻止用戶切換到隱藏字段;要做到這一點,你可以綁定一個事件來捕獲標籤印刷機,並取消它:
$(document).bind('keydown', function (event) {
if (event.which === 9 && !$(event.target).closest('.model').length) {
event.preventDefault();
}
});
給你添加/刪除隨意的事件處理程序的能力,它會更容易做到這一點,像這樣:
function stopTab(event) {
if (event.which === 9 && !$(event.target).closest('.model').length) {
event.preventDefault();
}
}
$(document).bind('keydown', stopTab); // to add
$(document).unbind('keydown', stopTab); // to remove
你的模態對話框必須有一類modal
這個工作(或簡單地改變選擇)。
相關問題
- 1. 如何使用maxlength阻止在textarea中的進一步輸入
- 2. 如何阻止用戶在輸入日期的jQuery
- 3. jQuery:一次阻止多個輸入
- 4. 如何在WCF異步調用運行時阻止輸入?
- 5. Java:如何阻止用戶使用JFileChooser輸入文件
- 6. Python子進程阻止在主進程中阻止從標準輸入讀取
- 7. 如何使用jquery阻止或限制輸入字段中的特殊字符?
- 8. 如何阻止jQuery Mobile使用window.location執行任何操作?
- 9. glassPane沒有阻止輸入
- 10. BufferedReader不會阻止輸入
- 11. 使用jquery阻止元素
- 12. 如何阻止大熊貓進入列名第一行
- 13. 輸入並阻止新行後清除HTML輸入
- 14. 如何阻止在jQuery的
- 15. 如何使用FO阻止
- 16. CGEventTap阻止應用程序輸入
- 17. 阻止jQuery()執行javascript
- 18. 如何從標準輸入讀取行(如果可用)(否則阻止)?
- 19. 使用事務進行批量插入會阻止異步進程上的UI
- 20. 用動態輸入進行Jquery驗證
- 21. 如何防止用戶使用JQuery輸入特定值?
- 22. 如何阻止用戶進入登錄界面?
- 23. 如何阻止用戶輸入重複值
- 24. 如何阻止用戶輸入兩次相同的值?
- 25. 如何阻止人們編輯禁用的輸入框?
- 26. 如何基於字符列表阻止用戶輸入?
- 27. 如何阻止NSPanel竊取其他應用程序的輸入
- 28. 如何阻止在輸入文本中寫入?
- 29. 阻止Perl eval在遇到傳入輸入中的空行時停止運行?
- 30. 如何阻止sinatra運行?
演示在這裏http://jquery.malsup.com/block/#demos – kobe 2010-12-07 19:46:41
正如我所說簡單的修復可以是z-index /// – kobe 2010-12-07 19:47:17
@everyone - 謝謝你所有的答案,所有的樣品都很棒。所以給每個人+1! – dexter 2010-12-08 18:26:33