捕获表onclick时表单和链接出现问题

时间:2016-12-19 14:18:55

标签: jquery forms html-table

我有一个包含数据的表,一个标题行和一个页脚行。 我需要抓住点击次数,桌面上每个单元格上的更多事件除了页脚,在页脚行中,我有一个表单提交和一些链接,现在我无法使用链接,任何建议进行导航。

var botonPulsado = false;
$(document).ready(function()
 {
   $("#valTable td").mousedown(function(event) {
        botonPulsado = true;
        if(event.ctrlKey){          
            if ($(this).attr('class') == 'flag') {
                seleccionados.push($("[type='hidden']", this).attr('id'));
                $(this).prev('td').toggleClass("seleccionado", true);
            } else if ($(this).attr('class') == 'valor'){
                seleccionados.push($("[type='hidden']", $(this).next('td')).attr('id'));
                $(this).toggleClass("seleccionado", true);
            } else if($(this).attr('class') == 'fecha') {
                $(this).parent().find('td').each(function (i){ 
                    if ($(this).attr('class') == 'flag') {
                        seleccionados.push($("[type='hidden']", this).attr('id'));
                        $(this).prev('td').toggleClass("seleccionado", true);
                    } else if ($(this).attr('class') == 'valor'){
                        seleccionados.push($("[type='hidden']", $(this).next('td')).attr('id'));
                        $(this).toggleClass("seleccionado", true);
                    }
                });
            }   
        } else {
            if ($(this).attr('class') != undefined){
                $('.seleccionado').each(function(i) { $(this).toggleClass("seleccionado", false); });
                seleccionados = [];
            } else {
                event.stopPropagation();
            }
        }
        return false;
   }).mouseover(function (event) {
        if (botonPulsado){
            if(event.ctrlKey){      
                if ($(this).attr('class') == 'flag') {
                    seleccionados.push($("[type='hidden']", this).attr('id'));
                    $(this).prev('td').toggleClass("seleccionado", true);
                } else if ($(this).attr('class') == 'valor'){
                    seleccionados.push($("[type='hidden']", $(this).next('td')).attr('id'));
                    $(this).toggleClass("seleccionado", true);
                }
            }
        }
    }).bind("selectstart", function() {
        return false;
   })
   $(document).mouseup(function (){
        botonPulsado = false;
   } );
    $("#valTable").on("click", "th", function(event) {
        if(event.ctrlKey){
            indice = ($(this).index()*2) -1;
            $("#valTable tr").each(function(){
                var celda = $(this).find("td:eq(" + indice + ")");
                if (celda.attr('class') == 'valor'){
                    celda.toggleClass("seleccionado", true);
                    seleccionados.push($("[type='hidden']", $(this).find("td:eq(" + (indice + 1) + ")")).attr('id'));
                }

            });
        } else {
            $('.seleccionado').each(function(i) { $(this).toggleClass("seleccionado", false); });
            seleccionados = [];     
        }
    });
    $("#valTable").on("click", "tfoot tr td",function(event){
        alert('footer');
        event.preventDefault();
        event.stopPropagation();
        return true;
    });
});

这是我的jQuery代码,我收到警告msg"页脚",但链接或表单提交不会运行。

非常感谢。

1 个答案:

答案 0 :(得分:0)

我明白了,

如果我添加此行

window.location.href = $(this).find("a").attr("href");

在每个

的下一行
event.stopPropagation();

链接和表单提交运行。