指向leanModal.js的链接在通过HTML链接呈现时工作良好,但在React中则不然
Link to leanModal.js works fine in rendered by HTML link but not within React
我正在使用精益模式:http://leanmodal.finelysliced.com.au/在带有React前端的Rails应用程序中。
当我把指向模态的链接放在application.html.erb中时,它工作得很好,但当使用相同的代码通过React链接加载时,什么都不会发生。
我已经加载了jQuery,并检查了10次代码是否相同。是什么导致了这样的问题?
以下是React中的链接代码:
<a rel="leanModal" name="login" href="#login">
模板文件(html.erb)脚本:
<script type="text/javascript">
$(function() {
$('a[rel*=leanModal]').leanModal({ top : 200, closeButton: ".modal_close" });
});
我正在从Rails中的application.JS文件加载模态JS。
谢谢你的帮助!
您应该将与DOM交互的东西(例如jQuery插件)封装在组件中。
var LeanModal = React.createClass({
componentDidMount: function(){
$(this.getDOMNode()).leanModal({
top: this.props.top || 200
});
},
render: function(){
return <div>{this.props.children}</div>;
}
});
请注意,您还需要提供一个组件WillUnmount来处理清理,并且插件不能执行添加/删除元素之类的操作。不允许清理或进行破坏性更改的插件与react不兼容。
有时,只使用现有的CSS实现它,并使用react组件而不是jQuery插件可能非常简单,最终会得到更好的结果。
相关文章:
- 如何禁用鼠标中键单击超链接以在新选项卡或新窗口中打开
- 当按下链接以在不同页面上的表单中的下拉列表中设置值时
- 如何在新选项卡中打开链接以及在当前选项卡中重定向
- 点击悬停区域中的链接会在触摸时立即激活
- 我如何重新加载URL链接,在我点击提交按钮后它保持不变
- 如何区分用户单击链接和在 UIWebView 中执行自动重定向的页面
- 谷歌地图路线链接仅在iOS中显示路线预览
- 将属性添加到带有href链接但没有#的元素
- 为什么所有链接都在带有引导程序的新选项卡中打开
- jqGrid-单击链接时在新窗口中显示PDF
- JQuerywrap()函数只在第一次循环时正确地将链接包装在图像周围
- 如何从数组获取链接以在youtube Iframe API中播放
- 在单击链接时在屏幕上显示消息,直到重定向
- 我想更改wordpress标题中的脚本链接.它们在哪里定义
- 单击超链接后在同一页面中显示对象
- 如何将图像标签插入超链接标签 在 动态使用 jQuery 中
- 提取 URL 的中间部分并将其附加到新的外部链接以在 IE8 中显示
- 如何在开始时禁用 HTML 中的链接并在之后启用它
- 延迟链接 - 然后在上一个调用完成但出现错误时调用成功回调
- 使用滚轮单击链接会在新选项卡中打开,但在执行右键单击+打开新选项卡时不会打开