0

我正在尝试将一些更改事件绑定到先前已由 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>

提前致谢!

4

3 回答 3

0

我没有完全相同的选择器,但一切似乎都在工作:

http://jsfiddle.net/HenryGarle/DeYH2/1/

$("div#caracteristicas-form-wrap div.jqTransformSelectWrapper ul li a").live('click', function(e) {
   alert("Testing");
});

编辑:更新为使用相同的选择器

于 2011-08-18T10:54:56.613 回答
0

Well guys, after struggling with jqTransform for too many projects, I've switched to UniformJS. Working with it is easier, my life is nicer, the colors in the sky are brighter and girls smile et me when I'm walking down any street.

I recommend it.

于 2011-09-04T22:20:30.980 回答
0

如果您在使用 jQuery 时遇到问题,live您可能需要检查一下delegate

也看看为什么你不应该使用 jQuery Live

于 2011-08-18T11:21:16.663 回答