jQuery contentcarousel 克隆绑定事件失败
我正在使用 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 }
I am using jQuery carousel to scroll some items in a loop.
I have the following conditions to meet:
- When at the first item and the 'back' button is clicked, the last item has to shown.
- When at the last item and the 'next' button is clicked, the first item has to shown.
The elements in the carousel are a
tags with click events bound to them. The items are shown in circular way but when I click items after case1 and case2 events are not fired.
After clone of items, the anchor is not bound to events and are not firing. My anchor onclick function is using a namespaced function.
Note: my code uses clone(true)
Code:
<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 }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在这里猜测没有看到您的代码,但是因为您在页面加载后动态创建元素,所以您将需要使用
live()
或delegate()
进行绑定它们的事件处理程序,而不是click()
。Live()
的使用方式如下:delegate()
(性能更好)的使用方式如下:Without seeing your code I'm guessing here, but because you are creating elements dynamically after the page has loaded you will need to use
live()
ordelegate()
to bind the event handlers to them, instead ofclick()
.Live()
is used like this:And
delegate()
(which has better performance) is used like this:要使 jQuery 轮播成为循环,您必须执行以下操作:
loop: true
选项将使其循环。For the jQuery carousel to be circular you have to do this:
The
loop: true
option will make it circular.