/ / Editor - vstupné prvky v dialógovom okne "vložiť odkaz" sa nedajú zaostriť - jquery-ui, jquery-ui-dialóg, redaktor, redactor.js

Redaktor - vstupné prvky v dialógovom okne "vložiť odkaz" sa nedajú zaostriť - jquery-ui, jquery-ui-dialóg, redaktor, redactor.js

Snažím sa robiť niečo podobné táto strana robí.

Jediný rozdiel je, že dialóg používateľa jQuery, ktorý používam, je modálny.

Pokúsil som sa upraviť skript na stránke, aby sa dialógové okno rozhrania jQuery používalo.

$("#dialog-modal").dialog(
{
modal: true, // added this line to make dialog modal
width: 600,
height: 400,
open: function(event, ui)
{
var textarea = $("<textarea style="height: 276px;">");
$(textarea).redactor({
focus: true,
maxHeight: 300,
initCallback: function()
{
this.code.set("<p>Lorem...</p>");
}
});
}
});

Potom som klikol na vložiť odkaz (tretie tlačidlo vpravo v paneli s nástrojmi). Toto zobrazuje ďalšie modálne dialógové okno rozhrania jQuery s formulárom.

Všimol som si, že nemôžem získať zameranie textových polí. Nemôžem do nich nič napísať.

Kód funguje dobre, ak neimplementujem prvý dialóg.

Máte nejakú predstavu, ako to obísť?

odpovede:

-1 pre odpoveď č. 1

Narazil som na ten istý problém. Toto správanie je výsledkom manipulácie používateľského rozhrania jQuery focusin.dialog udalosť na dokumente a nasmerovanie zaostrenia späť na posledné dialógové okno rozhrania jQuery v zásobníku (pomocou voliča ".ui-dialog:visible:last"). Vyriešil som problém tým, že zavolám tento kód hneď po vytvorení modálneho dialógu:

setTimeout(function() {
$(document).unbind("focusin.dialog");
}, 100);

použil som setTimeout, pretože jQuery používa aj používateľské rozhranie setTimeout aby túto udalosť viazali. Dokázala som to vyriešiť vďaka tejto odpovedi: jQuery UI Focus Stealing, Tiež som sa pokúsil o aktualizáciu na jQuery UI 1.11.4, ale problém nevyriešil.