"onModify" event for <select>
<h2>TL;DR</h2>

<p>How can I watch for changes in markup in <code>&lt;select&gt;</code> and, more importantly, <code>&lt;option&gt;</code> tags? </p>

<p>I <strong>don't</strong> want to listen for the <code>.change()</code> event (<code>onChange</code>), but I <strong>do</strong> want to listen for any changes in attributes (<code>disabled="disabled"</code>), values (<code>value="foo"</code>) or text.</p>

<h2>The long version</h2>

<p>I'm writing a simple <code>&lt;select&gt;</code> replacement plugin for jQuery. As one of the features, I'd like it to dynamically update with the select box. The one feature I'm stuck with is how to watch for events such as another piece of JS changing one of the <code>&lt;select&gt;</code>'s <code>&lt;option&gt;</code>s by, for example, changing it's text, value or disabled state.</p>

<p>I've found a question <a href="http://stackoverflow.com/questions/843318/jquery-modify-event">here</a> that provides a solution, however it just sets up a <code>setTimeout()</code> to poll the element.</p>

<p>Is there a clean (by which I mean "not using <code>setTimeout()</code>) way of watching for modifications of elements, specifically the <code>&lt;option&gt;</code>s inside a dropdown select control? The three main things I want to watch for are:</p>

<ul>
<li>When the text of the option is changed.</li>
<li>When it is disabled or enabled.</li>
<li>When it's value is changed.</li>
</ul>

<p>All of these triggered by a piece of JS not related to the plugin I'm writing.</p>
