Javascript onclick的jQuery替换
我最近才发现jQuery的强大功能。只是一个简单的问题 什么是onclick=“DeleteSomething(‘服务器端加载的ID号’)”的替代品 是否有某种方式可以将自定义信息(如ID)传递给jquery onclick?还是我必须保持传统的方式 非常感谢 亚当 请发布一些标记以获得更多帮助Javascript onclick的jQuery替换,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我最近才发现jQuery的强大功能。只是一个简单的问题 什么是onclick=“DeleteSomething(‘服务器端加载的ID号’)”的替代品 是否有某种方式可以将自定义信息(如ID)传递给jquery onclick?还是我必须保持传统的方式 非常感谢 亚当 请发布一些标记以获得更多帮助 此外,您还应该阅读库中链接的jQuery入门资源。在jQuery中,您可能会执行以下操作: $('a').click(function(){ # code here }); “a”是任何你想用
此外,您还应该阅读库中链接的jQuery入门资源。在jQuery中,您可能会执行以下操作:
$('a').click(function(){
# code here
});
“a”是任何你想用来找到正确链接的选择器
针对你的评论:
正如其他人提到的,最好的方法可能是在链接的一个属性中提供动态数据:
<a rel="{id}" >
$('a').click(function(){
deleteFunction($(this).attr('rel'));
});
$('a')。单击(函数(){
deleteFunction($(this.attr('rel'));
});
而不是这个:
<button onclick="DeleteSomething('THE ID NUMBER LOADED IN BY SERVER SIDE')">
这样做:
<button id="thing">
<script>
$(function() {
$("#thing").click(function() {
DeleteSomething('THE ID NUMBER LOADED IN BY SERVER SIDE');
}
}
<script>
$(函数(){
$(“#东西”)。单击(函数(){
DeleteSomething(‘服务器端加载的ID号’);
}
}
我通常使用rel=“”,来获取一些可能需要附加到按钮或其他东西上的额外数据
比如说
<input class="btnDelete" rel="34" value="Delete" />
这样做会更干净:
<tag class="someclass" prop1="id from serverside" />
$('.someclass').click(function(){
var prop1 = $(this).attr('prop1');
//DeleteSomething(prop1)
});
<script type="text/javascript>
$('a.deleter').click(function(){
if($(this).attr("rel") != ""){
DeleteSomething($(this).attr("rel"));
}
});
</script>
<a href="javascript:void(0)" rel="54" class="deleter">Delete Widget</a>
$('.someclass')。单击(函数(){
var prop1=$(this.attr('prop1');
//删除某物(prop1)
});
如果在rel参数中粘贴要删除的对象的ID,可以通过以下方式执行:
<tag class="someclass" prop1="id from serverside" />
$('.someclass').click(function(){
var prop1 = $(this).attr('prop1');
//DeleteSomething(prop1)
});
<script type="text/javascript>
$('a.deleter').click(function(){
if($(this).attr("rel") != ""){
DeleteSomething($(this).attr("rel"));
}
});
</script>
<a href="javascript:void(0)" rel="54" class="deleter">Delete Widget</a>
使用服务器将{ID}替换为实际ID
HTML:
不要忘记为未启用Javascript的用户实现删除服务器端!您甚至可以给它一些除rel(即deleteid)之外的现成属性,并以相同的方式访问它:$(this).attr(“deleteid”)哇,我不知道我能做到这一点。我想这就是解决方案!对,但我如何将动态数据传递到该函数中?比如说它是一个$(“.DeleteComment”)。单击该类,您有多个按钮,单击时,它们会传入要删除的id?之前我只是将其直接插入onclick的一个参数中=“DeleteComment(“动态id”)”。
<form id="deleter">
<input type="hidden" name="id" value="{ID}" \>
<input type="submit" value="Delete" rel="{ID}" \>
</form>
$('form#deleter input[type="submit"]').click(function() {
var id = $(this).attr('rel');
DeleteSomething(id);
return false;
}