jQuery contentcarousel克隆无法绑定事件

时间:2011-12-05 09:07:40

标签: jquery jquery-plugins

我正在使用jQuery轮播来循环滚动一些项目。

我满足以下条件:

  • 当第一个项目和“后退”按钮被点击时,必须显示最后一个项目。
  • 当点击最后一个项目并单击“下一个”按钮时,必须显示第一个项目。

轮播中的元素是a标记,其中点击事件绑定到它们。这些项目以循环方式显示,但是当我在case1和case2事件未被触发后单击项目时。

在克隆项目后,锚点未绑定到事件并且未触发。我的锚点onclick函数正在使用命名空间函数。

注意:我的代码使用clone(true)

代码:

<a title="click me" href="" id="elementid"> 
    <xsl:attribute name="behavior.ID">GoClick</xsl:attribute>
    <xsl:attribute name="behavior.autobind.GoClick">onclick</xsl:attribute>
    <xsl:attribute name="behavior.GoClick.streamname">
        <xsl:value-of select="streamname" />
    </xsl:attribute> 
    click me 
</a> 

public void GoClickEventHandler(sender,args) { //do something here } 

2 个答案:

答案 0 :(得分:0)

在这里我没有看到您的代码,但是因为您在页面加载后动态创建元素,您需要使用live()delegate()将事件处理程序绑定到它们,而不是click()

Live()的使用方式如下:

$("#myAnchor").live("click", function() {
    // stuff to do on click
});

delegate()(具有更好的性能)使用如下:

$("#anchorParent").delegate("#myAnchor", "click", function() {
    // stuff to do on click
});

答案 1 :(得分:0)

要使jQuery轮播成为循环,你必须这样做:

// Looping carousel
$("div").carousel( { loop: true } );

loop: true选项会使其成为循环播放。