国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > web前端 > htmlcss > 如何在html标记中调用的函数里传递对象

如何在html标记中调用的函数里传递对象

来源:程序员人生   发布时间:2014-01-19 09:27:59 阅读次数:3454次

最近使用jquery结合Ajax开发一个中小型网站应用。在后台管理中要使用Ajax调用系统功能,根据Ajax的返回结果,使用jQuery对前台页面进行操作。

比如,使用Ajax调用删除信息的后台功能,如果返回success,则调用删除一行信息。

大体代码如下:

$(".delete").click(function () {
if (confirm("您确定要删除?")) {
var t = $(this);

$.ajax({url: $(t).attr("href"),
type: 'get',
dataType: 'xml',
timeout: 1000,
error:function(xhr, ajaxOptions, thrownError){
alert("删除失败!发生HTTP" + xhr.status + "错误!"+thrownError);
},
success:function(xml){
alert("成功!");
$(t).parent().parent().remove();
}});
}
return false;
});

 

删除的链接设置如下:<a class="delete" href="/article/delete/5">

但是这种做法有个问题就是,文章列表要分页显示的,如果使用Ajax显示下一个分页,则在单击超级链接删除文章绑定的函数将失效。因为.delete的click函数是在页面加载完成后绑定的,如果采用Ajax分页的话,就必须重新绑定.delete的click。

有时需要使用如下类似的方法,<a onclick="delete()" href="/article/delete/5">,这种方法的好处就是即便使用Ajax分页,也不用重新绑定链接的单击函数。但是在删除页面的某个html标签时就会遇到问题了,怎么传递对象呢?

对于Javascript高手来说这种事情应该是再简单不过的事情了,在网上找了一些资料发现都不是我想要的,或许是我的问题不好表达吧,自己摸索了一下,可以这样传递对象:<a onclick="delete(this)" href="/article/delete/5">,这样就可以在调用delete的时候把a这个对象传递给delete函数了,然后再根据Ajax的返回结果删除前台页面的相关信息。

出处:博客园

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生