javascript - 排除选择菜单形式的onclick onclick事件

标签 javascript jquery html

我正在使用具有可点击行的数据表 ( https://datatables.net)。这是我的代码:

$(document).ready(function() {
  let city = document.getElementById("cityselect").value;

    var table = $('#resdatatable').DataTable();

    $('#resdatatable tbody').on('click', 'tr', function () {

        var data = table.row( this ).data().id;

         alert ("clicked!");

    } );
} );

在那些可点击的行中,我有一个选择框,onchange 调用一个函数。看起来像这样:

<select id ="resstatus1" onchange="changeResStatus(1)" data-previousvalue="Confirmed">

我遇到的问题是,在 Chrome(而非 Safari)中单击选择框时,我会收到警报。我需要这样做,以便单击选择框不会触发警报。我该怎么做?

谢谢!

最佳答案

我是这样做的并且有效:

$('#resdatatable tbody').on('click', 'tr', function (e) {
if($(e.target).is('select')){
        e.preventDefault();
        return;
    }
};

提到的其他方式破坏了整个点击功能。

关于javascript - 排除选择菜单形式的onclick onclick事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58546664/

相关文章:

javascript - 获取引发事件的元素的 id

html - 向表格添加边栏和页脚

javascript - 删除特定的 jquery 效果

javascript - 在初始化新日历之前,在引导选项卡上销毁 fullcalendar 单击

javascript - 创建新行时,Kendo 网格会使用现有行中的值自动填充字段

javascript - 有没有办法在不刷新页面的情况下上传和预览 div 上的图像(替换背景图像)?

javascript - Accordion + append 内容 Jquery

php - 如何使用 json_encode

html - css 转换规则中的问题

javascript - jquery 在其他事件处理程序中调用事件处理程序函数