Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How safe/reliable/cross-browser compatible is $(this)[0].defaultValue

I would appreciate some feedback regarding the use of $(this)[0].defaultValue for determining whether a textbox value has change from the original value e.g.

//keyUp event

if($(this)[0].defaultValue != $(this).val())
{
   //Field has been modified mark as dirty
}

In Chrome it seems to generate the desired output in the sense that the defaultValue is always the original value the textbox was loaded into the DOM with. However I have only recently discovered this value after crawling through DOM objects in the Chrome Dev tools looking for something completely different and I am concerned that it may come with a whole heap of problems. Additionally Google didn't turn much up which concerns me even more...

Any feedback greatly appreciated.

Cheers Rob

like image 848
Rob Avatar asked Mar 09 '11 10:03

Rob


1 Answers

It seems pretty safe. i just used this fiddle: http://jsfiddle.net/rXsrQ/ and tested it across chrome/firefox 3.6/safari 4/ ie8, they all behave the same.

It is described here: https://developer.mozilla.org/en/DOM/HTMLTextAreaElement and there is no notice about compatibility issues.

It is also described here: http://msdn.microsoft.com/en-us/library/ms533718(v=vs.85).aspx and seems to be compatible with ie 5 and up, so i don't seem why it shouldn't be safe to use.

like image 69
Martin Jespersen Avatar answered Sep 23 '22 06:09

Martin Jespersen