javascript - 创建 jquery 插件 - 在同一元素上使用两次时不起作用

标签 javascript jquery jquery-plugins

到目前为止我一直在使用prototypeJS,所以请原谅我这个菜鸟jquery问题:P

看看这个:http://jsfiddle.net/wAcVs/

该插件在加载时应用于#cont1。 #cont2 到目前为止还没有被触及。当您单击顶部的按钮时,您可以看到它适用于#cont2,但不适用于#cont1。

我可以看到来自

的论点
$('#cont1').myPlugin({id:'321', width:'200', height:'100'}) 

对我的选项变量生效,但从那时起“this”是空的,并且元素根本没有改变。

我怎样才能让它工作?

提前致谢!

最佳答案

它不会工作两次,因为您要将 ID 更改为其他内容,因此,例如,当使用 $("#cont1") 时,找不到任何内容。如果您只是删除 .attr('id', 'plugin_'+options.id),您就会看到它正常工作。

You can test it with the changes here ,请注意,我更改了 .changed 选择器,因为当 id 保留时,#cont1#cont2 CSS 选择器比仅仅更具体.已更改

关于javascript - 创建 jquery 插件 - 在同一元素上使用两次时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4517016/

相关文章:

javascript - Dom语言Javascript?

jquery-plugins - jscrollpane - 更改滚动条句柄的宽度?

jquery - jEditable 将输入中的 HTML 转换为文本

jquery - 使用 jQuery ajax 调用没有从远程 Coldfusion 方法获得返回

javascript - 使用 For 循环设置变量 (Javascript)

javascript - 如何替换位置哈希并只保留最后一个历史条目?

javascript - AngularJS $http.post 内部函数

JavaScript 命名空间模式(类似于对象的属性)

javascript - .preventDefault() 在条件中不起作用

jquery - 升级 turbolinks 导致 css 停止加载