首页 > 解决方案 > 排除选择菜单表单 onclick onclick 事件

问题描述

我正在使用 DataTables ( 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)中,当单击选择框时,我会收到警报。我需要这样做,以便单击选择框不会触发警报。我怎样才能做到这一点?

谢谢!

标签: javascriptjqueryhtml

解决方案


我这样做是有效的:

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

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


推荐阅读