首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JS Accordion在单击内部链接时关闭

JS Accordion在单击内部链接时关闭
EN

Stack Overflow用户
提问于 2018-06-06 23:21:29
回答 1查看 144关注 0票数 1

我有一些问题,保持手风琴打开,同时点击该手风琴下拉列表中的链接。这是一个求职页面,当我打开各个职位时,我希望用户能够在新的选项卡中打开应用程序。有什么想法吗?

https://www.trinovainc.com/careers.html

代码语言:javascript
复制
<div class="accordion">
  <div class="accordion-panel careers" data-id="panel-1">
    <div class="accordion">
      <h4><a class="accordion-title">Application Engineer - Mobile, AL<span class="ion-chevron-down"></span></a></h4>
    </div>
    <div class="accordion-panel-content panel-1">
      <p>TriNova is looking for an energetic and personable candidate who is a self-motivated and well-organized professional to join our team as an Application Engineer.</p>
      <h4>Summary</h4>
      <ul>
        <ul>
          <li>Provides in-depth product and application knowledge for TriNova and customers; specifically providing inside sales support for account managers. Duties to include reviewing of specifications, verifying model codes, quoting, ordering, expediting and communicating with the customer and sales force.</li>
        </ul>
      </ul>
      <h4>PRIME RESPONSIBILITIES</h4>
      <ul>
        <ul>
          <ul>
            <li>Review all types of applications that consist of but not limited to: sizing valves, choosing instruments, sizing gamma, sizing flowmeters and creating electrical &amp; PID drawings for various types of field instrument panels.</li>
            <li>Review specifications and provide model codes for products.</li>
            <li>Perform CAD drawings of best practice installation and wiring</li>
            <li>Communicate with the customer, outside salespeople, manufacturers and the Area Vice President.</li>
            <li>Understand commercial issues and terms.</li>
            <li>Field visits with account managers for relationship development, training and as required to optimize the order process and achieve customer satisfaction</li>
            <li>Improve product and technical knowledge.</li>
            <li>Troubleshooting of basic device issues.</li>
          </ul>
        </ul>
      </ul>
      <h4>MINIMUM EDUCATION</h4>
      <ul>
        <ul>
          <ul>
            <li>Bachelor&rsquo;s Degree in Engineering.</li>
            <li>Minor in Sales Engineering is a plus</li>
          </ul>
        </ul>
      </ul>
      <h4>TRAVEL</h4>
      <ul>
        <ul>
          <ul>
            <li>Occasional travel required.</li>
          </ul>
        </ul>
      </ul>
      <h4>PREVIOUS JOB EXPERIENCE</h4>
      <h4>Desired:</h4>
      <ul>
        <ul>
          <ul>
            <li>Previous related experience of at least 2 years</li>
          </ul>
        </ul>
      </ul>
      <h4>Required:</h4>
      <ul>
        <ul>
          <li>None</li>
          <ul></ul>
        </ul>
      </ul>
      <a class="button orange apply" href="https://www.trinovainc.com/job-application.html" target="_blank">Apply Now</a>
    </div>
  </div>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-06 23:25:40

使用event.stopPropagation()

在Javascript中,你有事件冒泡,这意味着当一个元素的事件被触发时。该事件向上冒泡到所有的父元素。这意味着如果手风琴只需单击一下就可以关闭它,然后单击其中的一个按钮(或任何其他按钮),它就会关闭。您可以通过使用event.stopPropagation()来防止这种情况。这将阻止事件在DOM结构中向上传播。

示例:

代码语言:javascript
复制
function prop(e){
  console.log(e.currentTarget);
}

function notProp(e){
  console.log(e.currentTarget);
  e.stopPropagation();
}
代码语言:javascript
复制
<div id="propagated" onclick="alert('Bubbled')"><button onclick="prop(event)">Click</button></div>

<div id="notpropagated" onclick="alert('OH NO')"><button onclick="notProp(event)">Click</button></div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50724042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档