Martin Konecny
Martin Konecny

Reputation: 59681

Simple iframe editor and oninput event

I'm writing a simple editor in an iframe, but having trouble registering the "oninput" event to detect when the user modifies the text field such as pasting in data etc.

    var txtArea =
    document.getElementById('txtArea'); 
    txtArea.contentWindow.document.designMode="on";
    txtArea.contentWindow.document.open();
    txtArea.contentWindow.document.write("<head><style
    type='text/css'>body{font-size:13px;}</style></head><body>"+data.document+"</body>");
    txtArea.contentWindow.document.close();


    $([txtArea.contentWindow.document]).bind("click",
    updateCaretPosMouse); //fires  
    $([txtArea.contentWindow.document]).bind("keyup",
    updateCaretPosKeyboard); //fires  
    $([txtArea.contentWindow.document]).bind("input",
    textChanged); //doesn't fire

If I create a plain old textarea element, and add the "input" event to this, then it works. Do 'input" events not work with iframe text areas?

Upvotes: 0

Views: 796

Answers (3)

Delan Azabani
Delan Azabani

Reputation: 81472

Try using the change event?

Upvotes: 0

Martin Konecny
Martin Konecny

Reputation: 59681

Found out that it isn't possible as of March 03, 2010

http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2010-March/025402.html

Upvotes: 0

Pekka
Pekka

Reputation: 449733

oninput is not a official DOM event, it seems to be a Mozilla specific extension (source). Won't keyup do the trick?

Upvotes: 1

Related Questions