我有一个引导卡,点击它,我将用户重定向到另一个页面。现在我在同一张卡片上添加一些描述,但有一些字符限制。一旦超过字符限制,我正在显示阅读更多.我想当用户点击阅读更多,它将打开一个模态,他们可以阅读完整的描述,也可以编辑它,如果他们想要的。我现在面临的问题是,即使点击“阅读更多”,它也认为这是点击卡片,将用户重定向到另一个页面,而不是打开模式。我该怎么处理这个案子。
我的HTML代码
<div id="someid" class="card tile-card estimate">
<div class="card-header p-3 pt-2">
<div class="icon icon-lg icon-shape bg-gradient-dark shadow-dark text-center border-radius-xl mt-n4 position-absolute">
<i class="fa fa-icon fa-solid fa-dollar-sign opacity-10"></i>
</div>
<div class="text-end pt-1">
<p class="text-sm mb-0 tile-title-p">Some Text</p>
<p class="text-xs mb-0 tile-subtitle-p">Some More Text</p>
<p class="text-xs mb-0 tile-subtitle-p" style="font-weight:bold;">@EFITStatus</p>
<p class="text-xs mb-0 tile-subtitle-p fifty-chars" style="text-align: left;" title="Description">
Some fixed character description
</p>
<div style="display:inline-flex">
<span class="tile-number-title"></span>
<h3 class="tile-number mb-0"></h3>
</div>
<div style="display:inline-flex">
<span class="tile-number-title"></span>
<h3 class="tile-number mb-0"></h3>
</div>
</div>
</div>
<div class="card-footer p-3">
<p class="tile-subtitle-p tile-subtitle-footer mb-0">Footer</p>
</div>
</div>
在第一个div元素上,我有一个name estimate类,我正在调用一个click事件。当试图调用.readmore类的click事件时,它仍然调用第一个click事件。
下面是两个独立的函数。
用于将用户重定向到另一页
$('.estimate').on('click', function (item) {
var eFITID = $(this).data('efitid');
window.location.href = "my path";
});
下面的功能是字符限制和打开模式时,用户点击阅读更多的链接
$(function () {
var maxL = 20;
$('.fifty-chars').each(function () {
var text = $(this).text().trim();
if (text.length > maxL) {
var begin = text.substr(0, maxL),
end = text.substr(maxL);
$(this).html(begin)
.append($('<a class="readmore"/>').html('read more...'))
}
});
$(document).on('click', '.readmore', function (e) {
$(this).next('.hiddenText').slideToggle(400);
$("#modalEditDescription").modal('show');
});
});
会怎么处理这个案子。如果你能帮忙的话,我将不胜感激。
2条答案
按热度按时间3zwtqj6y1#
为了解决这个问题,正如@Freedomn所建议的,我删除了锚标签并更改了$(document).on('click','. readmore',function... to $('. readmore').on('click',function.下面是工作代码。
idfiyjo82#
要处理点击“阅读更多”也会触发卡片点击事件并重定向用户的问题,您可以停止“阅读更多”链接上的点击事件的传播。这可以防止click事件冒泡到卡的click事件处理程序。您可以通过使用e.stopPropagation()函数来实现这一点。
下面是修改后的代码: