Javascript 动态更改sharrejQuery中的url
我的问题如下: 我的页面上有多个过滤器,可以动态地过滤事件日程安排,因此当我单击任何过滤器时,我的url都会更改,而不会重新加载页面 例如: 然后,我与Sharrre共享按钮:Javascript 动态更改sharrejQuery中的url,javascript,jquery,filtering,sharing,Javascript,Jquery,Filtering,Sharing,我的问题如下: 我的页面上有多个过滤器,可以动态地过滤事件日程安排,因此当我单击任何过滤器时,我的url都会更改,而不会重新加载页面 例如: 然后,我与Sharrre共享按钮: .social.social--share-filters a.icon.icon-twitter.js-twitter-filters(href="#", target="_blank") a.icon.icon-linkedin2.js-linkedin-filters(h
.social.social--share-filters
a.icon.icon-twitter.js-twitter-filters(href="#", target="_blank")
a.icon.icon-linkedin2.js-linkedin-filters(href="#", target="_blank")
a.icon.icon-facebook.js-facebook-filters(href="#", target="_blank")
尽管在sharre中我有一个url变量,该变量等于当前链接,但它只共享第一次加载页面时派生的链接 我试着把它放在图标上的点击事件中——这不起作用。 我试图将sharre放入函数(例如initialiseShare)中,并执行
window.initialiseShare=initialiseShare代码>-这也不起作用。
我试图删除并附加按钮,更改数据url属性,但它也不起作用
function initialiseShare(link) {
$('.js-twitter-filters').sharrre({
share: {
twitter: true,
},
enableTracking: false,
enableHover: false,
click: function(api, options) {
api.simulateClick();
api.openPopup('twitter');
} }); }
+
+
象征性的玉石
.social.social--share-filters
a.icon.icon-twitter.js-twitter-filters(href="#", target="_blank" data-url="#")
求求你,救命
提前谢谢你
另外,我可以使用任何其他解决方案,除了那些可能导致无法在设计中定制按钮的解决方案。试试这个:
$('body').on('DOMNodeInserted', '.js-twitter-filters', function(e) {
$(this).sharrre({
share: {
twitter: true,
},
enableTracking: false,
enableHover: false,
click: function(api, options) {
api.simulateClick();
api.openPopup('twitter');
}
});
});
说明:
$('body').on('DOMNodeInserted', '.js-twitter-filters', function(e) {
$(this).sharrre({
share: {
twitter: true,
},
enableTracking: false,
enableHover: false,
click: function(api, options) {
api.simulateClick();
api.openPopup('twitter');
}
});
});
您正在尝试绑定到动态加载的元素。当脚本在页面加载时执行时,jQuery无法使用这些元素执行与“sharre”的绑定,因此您可以在插入后使用活动绑定委托绑定到元素
参考资料:
$('body').on('DOMNodeInserted', '.js-twitter-filters', function(e) {
$(this).sharrre({
share: {
twitter: true,
},
enableTracking: false,
enableHover: false,
click: function(api, options) {
api.simulateClick();
api.openPopup('twitter');
}
});
});
因此,解决方案是在处理过滤器上的点击事件期间,而不是在点击事件期间重置按钮。