我正在尝试将一些更改事件绑定到先前已由 jqTransform (http://www.dfc-e.com/metiers/multimedia/opensource/jqtransform/) 转换的选择元素。
由于 change() 函数在此转换后不起作用,因此我遵循了 Code-Pal 的这一极好的建议。然后我尝试将 click 函数与 live() 事件一起应用(因为将来的表单将使用 Ajax 调用)。
到目前为止,我已经得到了这个,但它不起作用:
$("div#caracteristicas-form-wrap div.jqTransformSelectWrapper ul li a").live('click', function(e) {
console.log("Testing");
});
奇怪的是,这确实有效:
$("div#caracteristicas-form-wrap div.jqTransformSelectWrapper ul li a").bind('click', function(e) {
console.log("Testing");
});
甚至这样:
$("div#caracteristicas-form-wrap div.jqTransformSelectWrapper").live('click', function(e) {
console.log("Testing");
});
所以不是 jqTransform 仍然没有加载。出于某种原因,一旦我从列表中选择元素,live() 就会停止工作。知道会发生什么吗?
这是jqtransform之后的html代码:
<div class="jqTransformSelectWrapper" style="z-index: 10; width: 194px;">
<div>
<span style="width: 179px;">Tarjeta estándar</span>
<a class="jqTransformSelectOpen" href="#"></a>
</div>
<ul style="width: 192px; display: none; visibility: visible; height: 125px; overflow: hidden;">
<li>
<a class="selected" index="0" href="#">Tarjeta estándar</a>
</li>
<li>
<a index="1" href="#">Tarjetas cantos redondos</a>
</li>
<li>
<a index="2" href="#">Tarjetas doble</a>
</li>
<li>
<a index="3" href="#">Tarjeta PVC</a>
</li>
<li>
<a index="4" href="#">Tarjeta adhesiva</a>
</li>
</ul>
<select id="id-subproducto" class="jqTransformHidden" name="subproducto" style="">
<option value="1">Tarjeta estándar</option>
<option value="2">Tarjetas cantos redondos</option>
<option value="3">Tarjetas doble</option>
<option value="4">Tarjeta PVC</option>
<option value="5">Tarjeta adhesiva</option>
</select>
</div>
提前致谢!