我有一個產品列表,我正在使用下面的li:如何在不影響內錨的情況下讓li點擊?
當用戶點擊li上的任何位置時,我想用來發送到產品詳細信息頁面,例如: /產品/ ID /。當用戶將鼠標懸停在li上時,我還會顯示一個圖標,當點擊該圖標時,用戶可以在收藏夾中添加產品。
<ul>
<li class="media">
<div class="media-left">
<a href="/product/123/">
<thumb>
<div class="thumb">
<img src="/images/company-logo.jpg">
</div>
</thumb>
</a>
</div>
<div class="media-body">
<div class="item-actions autohide pull-right">
<a title="Add to Favorites"><i class="material-icons">favorite</i></a>
</div>
<div class="media-heading b">
<a href="/product/123">Demo Product</a>
</div>
<div class="text-sm">
<div style="height:16px;overflow:hidden;">Demo Manufacturer</div>
</div>
</div>
</li>
</ul>
我知道我可以讓整個li可點擊並使用javascript將用戶發送到產品詳細信息頁面。
<li (click)="sendToproductDetailsPage(123)">
.....
</li>
但是這種方法的問題是,當我點擊收藏圖標,它也向用戶發送產品的詳細信息頁面。
任何人都可以請指導如何用純JavaScript實現這一目標?
該規範禁止互動元素擁有互動死者。您最好的選擇是創建一個像這樣的結構:'li> a.product + a.favorite'並使用CSS處理外觀,您可以讓產品鏈接佔據所有空間,並且最喜歡的鏈接被「絕對」定位 – Aziz
是' favorite''最喜歡的圖標「? 「點擊」不應該「發送到產品詳細信息頁面」? – guest271314
@Aziz:上面沒有規範違規。規範並沒有說你不能在包含可點擊元素的元素上單擊處理程序;一半的網絡將被打破。 「互動內容」在規範中有[特定含義](https://www.w3.org/TR/html5/dom.html#interactive-content-0)。 –