JS Accordion在点击里面的链接时关闭

时间:2018-06-06 15:21:29

标签: javascript html magento

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

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

<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>

1 个答案:

答案 0 :(得分:0)

使用event.stopPropagation()

在Javascript中,您有事件冒泡,这意味着每当为某个元素触发事件时。该事件冒泡到所有父元素。这意味着如果你有手风琴的onlick关闭它,你点击它内部的按钮(或其他任何东西),它将关闭。您可以使用event.stopPropagation()来阻止这种情况。这将阻止事件传播DOM结构。

示例:

&#13;
&#13;
function prop(e){
  console.log(e.currentTarget);
}

function notProp(e){
  console.log(e.currentTarget);
  e.stopPropagation();
}
&#13;
<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>
&#13;
&#13;
&#13;