按键不会触发我所有的社交按钮,只有一个吗?

时间:2018-11-16 18:46:56

标签: java html accessibility sharethis

我正在将ShareThis库用于我正在工作的网站。我想使该站点可访问,以便用户可以浏览并点击Enter并触发click事件。现在,当用户点击任何社交媒体按钮上的Enter键时,都会显示一条控制台消息,但不会像单击一样对待它,而是打开共享页面。

这仅适用于最后一个按钮,即电子邮件按钮。它将打开正确的模式(其他每个按钮都将打开不同的页面),但每个页面仍会打印出控制台消息。这是我的代码,我不确定为什么它不起作用。

这是我的JS代码:

$('.sharethis-body .keypress-click').each(function () {
    $(this).keypress(function (e) {
        var key = e.which;
        if (key == 13) // the enter key code
        {
            $(this).click();
            console.log("click");
            return false;
        }
        return true;
    });
});

这是我的HTML:

    <div class="sharethis-body">
        <div class="sthoverbuttons-label"><span>Share</span></div>
        <span tabindex="0" class='st_facebook_large keypress-click' displaytext='Facebook' aria-label='Facebook'></span>
        <span tabindex="0" class='st_twitter_large keypress-click' displaytext='Tweet' aria-label='Twitter'></span>
        <span tabindex="0" class='st_googleplus_large keypress-click' displaytext='Google +' aria-label='Google Plus'></span>
        <span tabindex="0" class='st_linkedin_large keypress-click' displaytext='LinkedIn' aria-label='LinkedIn'></span>
        <span tabindex="0" class='st_email_large keypress-click' displaytext='Email' aria-label='Email'></span>
    </div>

任何帮助,将不胜感激!

1 个答案:

答案 0 :(得分:0)

不知道如何使用ShareThis,但是可以通过将“ span”更改为“ button”来解决您的问题。通过使用按钮,您可以获得本机聚焦能力。您还可以清理代码,使其看起来像这样。

Facebook