javascript onclick的jQuery替换

rggaifut  于 2022-12-25  发布在  Java
关注(0)|答案(7)|浏览(178)

我最近才发现了jQuery的强大功能,不过还是有一个简短的问题。
onclick="DeleteSomething('THE ID NUMBER LOADED IN BY SERVER SIDE')"的替代品是什么?
是否有某种方法可以将诸如ID之类的自定义信息传递给jQueryonclick,或者我必须使用老式的方法?

nhn9ugyo

nhn9ugyo1#

我通常使用rel="”来表示我可能需要附加到按钮或诸如此类的一些额外数据。
例如

<input class="btnDelete" rel="34" value="Delete" />

然后在jquery中

$('.btnDelete').click(function() {
    DeleteMethod($(this).attr("rel"));
  });
fnvucqvd

fnvucqvd2#

如果你想在rel参数中添加你想要删除的对象的ID,你可以这样做:

<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>
anhgbhbe

anhgbhbe3#

$(document).ready(function () {
  $('#selector').click(function() {
    //here goes your onclick code
  });
);

请发布一些标记以获得更多帮助。
此外,您还应该阅读Getting started with jQuery资源,链接在库的main page中。

nbewdwxp

nbewdwxp4#

在jQuery中,您更可能执行以下操作:

$('a').click(function(){
    # code here
});

其中'a'是您想要用来查找正确链接的任何选择符。
针对您的评论:
正如其他人提到的,最好的方法可能是在链接的一个属性中提供动态数据:

<a rel="{id}" >

$('a').click(function(){
    deleteFunction($(this).attr('rel'));
});
k7fdbhmy

k7fdbhmy5#

而不是这个:

<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>
zbwhf8kr

zbwhf8kr6#

如果你这样做的话会干净得多:

<tag class="someclass" prop1="id from serverside" />

$('.someclass').click(function(){
   var prop1 = $(this).attr('prop1');
   //DeleteSomething(prop1)
});
tjjdgumg

tjjdgumg7#

使用服务器将{ID}替换为实际ID。
超文本:

<form id="deleter">
  <input type="hidden" name="id" value="{ID}" \>
  <input type="submit" value="Delete" rel="{ID}" \>
</form>

jQuery:

$('form#deleter input[type="submit"]').click(function() {
  var id = $(this).attr('rel');
  DeleteSomething(id);
  return false;
}

不要忘记实现删除服务器端也为人民谁没有启用Javascript!

相关问题