Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态更改sharrejQuery中的url_Javascript_Jquery_Filtering_Sharing - Fatal编程技术网

Javascript 动态更改sharrejQuery中的url

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

我的问题如下:

我的页面上有多个过滤器,可以动态地过滤事件日程安排,因此当我单击任何过滤器时,我的url都会更改,而不会重新加载页面

例如:

然后,我与Sharrre共享按钮:

    .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');
    }
  });
});

因此,解决方案是在处理过滤器上的点击事件期间,而不是在点击事件期间重置按钮。