問題是這樣的:jQuery對話框 - 位於對話框輸入頂部的div禁用
打開一個對話框。我單擊對話框的輸入字段以打開絕對定位在對話框上的div。輸入不能與之交互。
這裏是Jsfiddle
的例子,您可以將鼠標放在輸入和鼠標光標將變爲「I」圖標。您甚至可以與絕對定位的div上的關閉錨標記進行交互。這不是一個Z指數問題。它適用於jQuery UI 1.9及更早版本。奇怪的是,在將絕對div添加到DOM之後,如果您將一個空div添加到body html的末尾(使用螢火蟲實時編輯代碼),則輸入有效。
任何想法?
由於提前,
Bontke
$('#open_dialog').click(function (event) {
var dialog_html = '<div id="dialog_body">' +
'<input type="text" name="test1"/>' +
'</div>';
$(dialog_html).dialog({
title: 'WTF Test',
height: 110,
width: 300,
modal: 'true',
close: function() {
$(this).remove();
$('#test_div').remove();
}
});
//dialog input click
$('input[name=test1]').click(function (event) {
var html = $('<div id="test_div" style="border: 1px solid red; z-index: 10000; position: absolute; left: 45%; top: 60%; width: 235px; height: 100px; background-color: blue;"><input name="foobar"/><a id="test_close" style="color: white;" href="#">close</a><br/><span style="color: white">super awesome text</span></div>'),
body = $(document.body);
if ($('#test_div').length === 0) {
//append div to body
html.appendTo(body);
//add close functionality to test_div
$('#test_close').click(function (event) {
event.preventDefault();
//remove test_div from DOM
$(event.currentTarget).parent().remove();
});
}
});
});
我沒有任何解決方案,但在測試你的小提琴時,我能夠確認你的發現,並獲得了更多的數據點。我將輸入設置爲複選框,並且能夠很好地處理單擊事件。即使使用chrome調試器將文本框的狀態設置爲:focus,它也沒有獲得焦點,所以這個問題似乎是特定於鍵盤焦點的,但這就是我所擁有的。 –