-1

我为此苦苦挣扎了一段时间,希望能得到专家的帮助。

上下文是:

window.open 默认被阻止(弹出窗口被阻止)

我在该问题的评论 1 中得到了答案,小提琴如下

http://jsfiddle.net/chokchai/EgBQK/

这可能是答案,但我无法理解:

这不能纯粹在 jQuery 中完成吗?我说的是以下代码:

   $('body').append('<div><a href="#" onclick="window.open(\'https://www.facebook.com/sharer/sharer.php?u=\'+encodeURIComponent(\''+val+'\'), \'facebook-share-dialog\', \'width=626,height=436\'); return false;"> Share on Facebook </a></div>');

如何将此代码转换为纯 jQuery?上面的代码中,html代码是用jquery代码创建的??????

4

1 回答 1

1

试试这个方法:

var url = ['http://google.com', 'http://bing.com', 'http://duckduckgo.com/'],
    $coll;

$coll = $.map(url, function (val) {
    return $('<div/>').append($('<a/>', {
        href: '#',
        rel: val,
        text: 'Share on Facebook'
    }).click(handleClick));
});
$('body').append($coll);

function handleClick(e) {
    e.preventDefault();
    window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(this.rel), 'facebook-share-dialog', 'width=626,height=436');
}

演示

于 2013-10-03T23:27:45.683 回答