2

Я использую wysiwug JQuery плагин, который создает IFRAME для моего текстового поля, как это:jQuery - фокус внутри iframe?

<div class="wysiwyg" style="width: 581px;"> 
<ul class="panel" role="menu"> 
<div style="clear: both;"></div> 
<iframe id="id_message_bodyIFrame" frameborder="0" src="javascript:false;" style="min-height: 170px; width: 573px;" tabindex="0"> 
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> 
</head> 
<body style="margin: 0px;"> 
DETECT WHEN I START TYPING TEXT HERE <-------- 
</body> 
</html> 
</iframe> 
</div> 
<textarea id="id_text_area" name="message_body" cols="70" rows="10" style="display: none;"></textarea> 
</div> 

Я хочу, чтобы быть в состоянии обнаружить, когда я начинаю набирать текст внутри body в iframe, что-то вроде focus() на текстовые входы. Есть идеи?

+0

Я не думаю, что 'focus()' работает ни на что иное, кроме элементов формы или ссылок. – Mottie

+0

@fudgey Есть ли другие способы сделать то же самое без фокуса()? – avatar

ответ

4
var frameBody = $("#id_message_bodyIFrame").contents().find("body"); 

frameBody.focus(function(){ /* ... */ }); 
frameBody.click(function(){ /* ... */ }); 
frameBody.keyup(function(){ /* ... */ }); 
+1

Я пробовал это, но он, похоже, не работает. Я поставил «alert (« Обработчик для .focus() ».); внутри фокуса, но я не вижу никаких действий. – avatar

+1

http://api.jquery.com/focus утверждает, что focus() работает только на ограниченных элементах. – avatar

Смежные вопросы