javascript - 在按钮处于事件状态时在新选项卡中打开链接

标签 javascript html css

我想在我的网站上有一个按钮,当它处于事件状态时(单击一次)将目标 _blank 添加到具有特定类的 href 链接,所以他们在新标签页中打开。

这是按钮的代码

    <li id="toolbar-display">
        <dl>
        <dt>Display</dt>
        <dd id="toolbar-display-newtab" class="first last"><span>New Tab</span></dd>
        </dl>
    </li>

然后这是我想添加 _blank 的 href 链接类。

    <a class="item-link" href="url">

为此,我使用了以下我从 http://jsfiddle.net/UJMgQ/2/ 修改的 javascript

    <script type="text/javascript">
        $(function () {
        $('#toolbar-display-newtab').click(function () {
        if ($(this).toggleClass('active')) {
        $('.item-link').attr('target', '_blank');
        } else {
        $('.item-link').removeAttr('target');
        }
        });
        });
    </script>

代码看起来是正确的,但不幸的是它不起作用,我现在不清楚它是没有检测到按钮的事件状态还是无法添加 _blank。任何帮助将不胜感激 =)

最佳答案

我不确定 toggleClass() 返回什么,但根据我的测试,它不会为您提供可用于 if else 条件的 bool 值。

为什么不试试 hasClass()检测类 active 是否已经设置,然后在检测到它后使用 toggleClass。

我尝试重新编码您的帖子,但我不确定我是否理解您的逻辑。

$(function () {
    $('#toolbar-display-newtab').click(function () {
        if ($(this).hasClass('active')) {
            $('.item-link').attr('target', '_blank');
        } else {
            $('.item-link').removeAttr('target');
        }
        $(this).toggleClass('active');
    });
});

关于javascript - 在按钮处于事件状态时在新选项卡中打开链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12719989/

相关文章:

html - 创建调色板时遇到问题

html - 如何在前面显示模态?

javascript - $ ("SELECTOR").css() 的复杂度

CSS 未在 Rails 4.2.5 中加载 |开发环境

javascript - 在 IE 中从 DOM 中删除选项时滚动选择元素会跳转到顶部

如果属性与列表匹配,Javascript 如何在 json 数组上使用 array.filter 返回整个数组

javascript - Highcharts 图例事件而不显示图例

javascript - 通过 AJAX 使用 PHP 发送表单,无需刷新页面

css - 使用 css 定位特定浏览器

javascript - 正则表达式:获取 % 符号之间的字符串,不包括符号