Używam window.open
, aby otworzyć okno potomne z okna nadrzędnego. Chcę, aby okno podrzędne pozostało na górze, aby użytkownik mógł się do niego odnieść podczas wprowadzania wpisu w oknie nadrzędnym. Czy można to zrobić? Używam Firefoksa w tej chwili, ale byłby to bonus, gdyby działał we wszystkich przeglądarkach.Jak sprawić, by okno dziecięce pozostało na wierzchu?
Odpowiedz
Ta warstwa wyskakujących okienek jest również dobra: DOMWindowDemo.
http://stackoverflow.com/questions/how-to-answer –
Zamierzam dać +1, ponieważ wiem, że kiedyś się przyda, chociaż żaden z nich nie jest tym, co miałem na myśli w tym zadaniu. –
tak można to zrobić przez ten kod trzeba dać onblur = „self.focus()” w organizmie przez okna potomnego
//Parent page...
<html>
<body>
<a href="#" onClick="window.open('two.html','sdvwsv','width=200,height=200');">here...</a>
</body>
</html>
//Child page...
<html>
<body onBlur="self.focus();">
here...
</body>
</html>
Wygląda na to, że nie działa tak, jak się spodziewałem, kiedy kliknę z powrotem na okno nadrzędne, okno potomne zostanie utracone. –
Problem polega na tym, że pisanie treści od dziecka do rodzica jest wystarczające, a gdy nie ma rodzica, nie istnieje żadne dziecko. –
<html>
<script language="JavaScript">
<!--
function openWin(){
var myBars = 'directories=no,location=no,menubar=no,status=no';
myBars += ',titlebar=no,toolbar=no';
var myOptions = 'scrollbars=no,width=400,height=200,resizeable=no,top=10, left=10,';
var myFeatures = myBars + ',' + myOptions;
var myReadme = 'This is a test.'
var newWin = open('', 'myDoc', myFeatures);
newWin.document.writeln('<form>');
newWin.document.writeln('<table>');
newWin.document.writeln('<tr valign=TOP><td>');
newWin.document.writeln('<textarea cols=45 rows=7 wrap=SOFT>');
newWin.document.writeln(myReadme + '</textarea>');
newWin.document.writeln('</td></tr>');
newWin.document.writeln('<tr><td>');
newWin.document.writeln('<input type=BUTTON value="Close"');
newWin.document.writeln(' onClick="window.close()">');
newWin.document.writeln('</td></tr>');
newWin.document.writeln('</table></form>');
newWin.document.close();
newWin.focus();
}
-->
</script>
<body>
<form>
<b>Click the following button to open a new window: </b>
<input type=BUTTON value="Open" onClick='openWin()'>
</form>
</body>
Dziękuję za odpowiedź, ale nie o to chodziło. Spowoduje to utworzenie nowego okna z polem tekstowym, ale nadal zostanie utracone po kliknięciu w oknie nadrzędnym. Chcę, aby okno podrzędne pozostało na górze, aby użytkownik mógł się do niego odnieść podczas wprowadzania wpisu w oknie nadrzędnym. –
<html>
<script language="JavaScript">
<!--
function openWin(){
var myBars = 'directories=no,location=no,menubar=no,status=no';
myBars += ',titlebar=no,toolbar=no';
var myOptions = 'scrollbars=no,width=600,height=400,resizeable=no,top=10, left=10';
var myFeatures = myBars + ',' + myOptions;
var newWin = open('test.html', '', myFeatures);
newWin.document.close();
newWin.focus();
}
-->
</script>
<body>
<form>
<b>Click the following button to open a new window: </b>
<input type=BUTTON value="Open" onClick='openWin()'>
</form>
</body>
</html>
</html>
Dziękuję, ale nie jestem pewien, czy rozumiesz, czego chcę. "Chcę, aby okno podrzędne pozostało na górze, aby użytkownik mógł się do niego odnieść podczas wprowadzania wpisu w oknie nadrzędnym." –
Walczyłem z tym przez długi czas. Wygląda na to, że jest to błąd w FF, ale zauważyłem, że po otwarciu nowego okna, jeśli go kliknę, to się skupi i osiągnie szczyt. Jednak wywołanie window.focus() na nim nie działało, więc domyślam się, że dzieje się to zbyt wcześnie.
Więc w nowym oknie kodu, na dole strony dodałem
setTimeout(function(){window.focus()},100);
To nie ma ochoty stałej praktyki, ale jeśli jest to potrzebne do pracy ... 100 ms wydaje się być najniższy, który działa w moim systemie.
Wygląda na to, że działa on tylko wtedy, gdy żądanie open() jest wykonane z niewidocznej obsługi zdarzenia. Ponadto, program obsługi zdarzeń musi znajdować się na obiekcie, który sam może zaakceptować fokus, na przykład elementy wejściowe itp. –
Nawet jeśli dołączysz elementy do zdarzeń typu div, nie mogą zaakceptować fokusu, więc powyższe elementy nie będą działać na nich. –
- 1. Jak sprawić, by okno podglądu intelli androida pozostało otwarte?
- 2. Jak sprawić, by okno wyglądało bardziej nowocześnie
- 3. Jak utrzymać moje najwyższe okno na wierzchu?
- 4. Okno ExtJS 4 "zawsze na wierzchu"
- 5. Jak ustawić okno Pythona jako "Zawsze na wierzchu"?
- 6. Jak sprawić, by @ Html.EditorFor niepełnosprawnych
- 7. Jak sprawić, by interfejs działał?
- 8. Android: elewacja ma tylko efekty cieniowania na dolnej stronie, jak sprawić, by efekty cienia pokazywały się na wierzchu?
- 9. Jak sprawić, by Gedit wyglądał jak Textmate?
- 10. Jak sprawić, by biały układ HTML był nieproporcjonalny?
- 11. Jak sprawić, by elementy HTML były nieogolone?
- 12. Jak sprawić, by R używało wszystkich procesorów?
- 13. Jak sprawić, by DateFormat odgadł zamierzone stulecie?
- 14. Jak sprawić, by luźny bot opuścił kanał?
- 15. Jak sprawić, by niestandardowe sterowanie było sprawdzalne?
- 16. jak sprawić, by DIV się nie rozpraszało?
- 17. Jak sprawić, by Pycharm był szybszy/lżejszy?
- 18. Jak sprawić, by SignalR działał z RequireJS?
- 19. Jak sprawić, by fancybox href był dynamiczny?
- 20. Jak działa #! pracować i jak mogę sprawić, by działał na CoffeeScript?
- 21. Jak sprawić, by RecyclerView przewijał się płynnie?
- 22. Jak sprawić, by Asio rozwidlało się bezpieczniej
- 23. Jak sprawić, by zwykły WebRequest był asynchroniczny?
- 24. Jak sprawić, by IntelliJ wiedział FIXME?
- 25. Jak sprawić, by ghci wsparło^p?
- 26. Jak sprawić, by wget był odpowiednio cichy?
- 27. Jak sprawić, by Tomcat był przenośny?
- 28. Jak sprawić, by tabele MDL były responsywne?
- 29. Jak sprawić, by gradient CSS wyglądał gładko?
- 30. Jak sprawić, by atrybut modelu był globalny?
Możesz ustawić ostrość w nowym oknie, ale wtedy nie będziesz mógł wpisywać ani nic robić w oknie nadrzędnym. –
Co powiesz na użycie [popup div] (http://jqueryui.com/dialog/#default) zamiast otwierania nowego okna? – 3dgoo
Jest to najlepsze, co możesz zrobić z oknami: http://jsfiddle.net/DerekL/WFsyY/ –