Fix the click behavior for <tr> and <td> with [data-href] (#17388)

This commit is contained in:
wxiaoguang 2021-10-22 02:19:32 +08:00 committed by GitHub
parent 960c322586
commit a115309f4f
Signed by: GitHub
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -119,14 +119,19 @@ export function initGlobalCommon() {
$($(this).data('target')).slideToggle(100);
});
// make table <tr> element clickable like a link
$('tr[data-href]').on('click', function () {
window.location = $(this).data('href');
});
// make table <td> element clickable like a link
$('td[data-href]').click(function () {
window.location = $(this).data('href');
// make table <tr> and <td> elements clickable like a link
$('tr[data-href], td[data-href]').on('click', function (e) {
const href = $(this).data('href');
if (e.target.nodeName === 'A') {
// if a user clicks on <a>, then the <tr> or <td> should not act as a link.
return;
}
if (e.ctrlKey || e.metaKey) {
// ctrl+click or meta+click opens a new window in modern browsers
window.open(href);
} else {
window.location = href;
}
});
}