a标签里只有将return false写在onclick后面才不会执行href吗,能写在js里吗

<标签 data-id="${knowfile.id}" href="${knowfile.fileHost}${knowfile.fileUrl}" onclick="downloadfile(${knowfile.id})" >下载</标签>
.............................................................................................
function downloadfile(id){
            if (!confirm("是否下载?")) {
                return;
            }

            var params = {
                'id' : id


            };

            $.ajax({
                        type : 'POST',
                        url : '${stx }/oa/knowledge/downloadCount',
                        data : params,
                        dataType : 'json',
                        timeout : 5000,
                        context : $('body'),
                        success : function(data) {
                            var status = data.status;
                            if (status == 'success') {
                            return false;
                            } else {
                            return false;

                            }
                        },
                        error : function( XMLHttpRequest, textStatus, errorThrown) {
                            alert("服务器错误,请稍后重试!");
                        }
                    });

        }
        *********我用的是谷歌浏览器

写在js里面是可以的,但是由于你的这个方法中包含ajax,所以,你需要定义一个变量 var flag;然后在需要返回true和false的地方,把flag置为true或false;最后在该方法的末尾return flag;另外ajax中添加一个async:false;设置成同步;这样就可以了