在行单击时,单击按钮时阻止重定向

时间:2017-09-29 10:01:15

标签: javascript jquery

这里我使用的是数据表 行单击我想做某事[重定向], 在一行中,其中一列有一个按钮&它有一些动作。

问题:当我单击按钮执行动作获取行单击时,要在单击按钮时阻止行单击

CODE

$('#example').click(function () {
  var dataArr;
  var rows = $('tr.selected');
  var rowData = table.rows(rows).data();
  $.each($(rowData), function (key, value) {
    dataArr = value["id"];
    window.location = 'clients?id=' + dataArr;
  });
}

我应该改变什么?谢谢

编辑:

按钮:

    $(document)
        .ready(
            function() {
                var table = $('#example')
                    .DataTable({
                        "sAjaxSource": "/clients",
                        "sAjaxDataProp": "",
                        "order": [
                            [0, "asc"]
                        ],

                        "aoColumns": [{
                                "mData": "id"
                            },
                            {
                                "mData": "name"
                            },
                            {
                                "mData": "lastName"
                            },

                            {
                                "mData": null,
                                defaultContent:'<p>1</p>'
                            },


                            {
                                "mData": null,
                                className: "center",
                                defaultContent: '<a href="clients.html"> <p title="New"><button class="btn btn-primary btn-xs newButton" data-title="Add"  id="btn"><span class="glyphicon glyphicon-plus"></span></button></p></a>'
                            },
                            {
                                "mData": null,
                                className: "center",
                                defaultContent: '<p data-placement="top" data-toggle="tooltip" title="Edit "><button class="btn btn-default btn-xs data-title="edit" data-toggle="modal" data-target="#edit""><span class="glyphicon glyphicon-pencil"></span></button></p>'
                            },
                            {
                                "mData": null,
                                className: "center",
                                defaultContent: '   <p data-placement="top" data-toggle="tooltip" title="Delete"><button class="btn btn-danger btn-xs" data-title="Delete" data-toggle="modal" data-target="#delete"><span class="glyphicon glyphicon-trash"></span></button></p>'
                            }

                        ]

                    });

我正在使用DataTables。 ANd只需要编辑和删除

的最后两列

2 个答案:

答案 0 :(得分:2)

每当子事件调用父事件时,您可以在此处阻止使用以下方法。

event.stopPropagation();

答案 1 :(得分:0)

尝试使用event.stopPropagation();

代码类似于:

$(".table_row"/*the table row class*/).on('click', 'button', function () {
         //button action 
     }).on('click', $(this).parent().parent().parent() , function (e) {
         e.stopPropagation();
     });/* if  $(this).parent().parent().parent() doesn't work ,search in developer tools to see where click action is triggered ,on the */

this

这样的东西

我尝试制作一些我不知道的东西,如果你喜欢它,但它的工作方式你想要this(更新)。