EasyUi中的datagird中a标签的click事件无法触发?(已解决)

***************************2015-10-29 21:07*************************

问题如下:

datagrid最后一列编辑中有如下a标签

                    {
                        field: "编辑",
                        title: "编辑",
                         100,
                        align: "center",
                        //value表示字段值,row表示当前行的值,index表示当前行的索引
                        formatter: function (value, row, index) {
                            // var theHref = "<span class='deleteSpan' onclick='deleteStu("+row.id+")'>删除</span>";
                            var theHref = "<a stuName='"+row.stuName+"' class='delete' href='<%=basePath%>json/stu_delete.action?id=" + row.id + "'>删除</a>";
                            return theHref;
                        }

但是我的方法就是触发不了,好奇怪的样子!?

问题记录在这里有时间来搞,现在换一种方法。

            //点击删除发生的事件
            $(".delete").click(function(){
                .......
            });

 此版本相关代码:http://yunpan.cn/cFU6EL4jpLrXu  访问密码 2727

 ***************************2015-10-29 21:40*************************

在解决思路的过程中发现了如下问题:

若一个按钮绑定方法如果写在:$(function(){function(){xxxxxx}});外面,绑定的事件可能是无效的。

所以:需要外界调用的方法不能不能下载$(function(){mehtod...})里面。

这个其实很简单:绑定事件的时候可能元素还未被生成,所以说在元素绑定的时候,一定要在页面加载完成后进行。

***************************2015-10-30 20:52*************************

说明:不是因为click事件未触发,是触发了,然后马上页面跳转了,看出出来而已。

问题简化如下:

当时的html代码如下:

<a stuname="王华" onclick="myTest();;" href="http://localhost:8080/ssh_easyui/stu_delete.action?id=32434">删除</a>

在myTest中是如此写的

function myTest() {
    console.info("XXXXXXXXX");
    return false;
}

本意是在这个实际中阻断a标签的跳转,因为记得以前谁用过,隐约记得这个方法可以这么用。

但是今天才发现这个想法是错的,这样只是退出myTest这个方法无法阻断,解决方法应该写成:

<a stuname="王华" onclick="myTest();return false;" href="http://localhost:8080/ssh_easyui/json/stu_delete.action?id=32434">删除</a>

在myTest()的后面添加return false;才行。

上述问题Over。

综上总结如下:

1.a标签的阻止跳转是在click事件同级的后面添加return false;
2.不要忽略基础,基础很重要。
原文地址:https://www.cnblogs.com/LiuChunfu/p/4921819.html