jQuery onClick preventDefault

时间:2013-08-06 12:03:37

标签: jquery

我有一个表格,我想抑制链接点击,因为我需要其他功能的链接。

表的结构是这样的:

<table>
<tr><th>Day</th><th>Event</th>
<tr class="DAY" id="DAY_0"><td>1-8-2013</td><td><a href="?tab=tabCalendar&dayEvent=DAY_0">Add Event</a></td></tr>
<tr class="DAY" id="DAY_1"><td>2-8-2013</td><td><a href="?tab=tabCalendar&dayEvent=DAY_1">Add Event</a></td></tr>
</table

我的jquery代码试图阻止刷新页面,并显示id是这个

<script>
  $("a").click(
      function(event) {
        event.preventDefault();
        alert('Picked: '+ event.target.id.slice(4) );
      }
    );
  </script>

我也尝试了以下

$(".DAY").click(function(){//to catch the class DAY.click()

甚至

$("[id^=DAY]").click(function(){//to catch the id DAY*.click
然而,这些功能都没有做任何事情。

我使用的版本是

jquery-1.9.1.js
jquery-ui-1.10.3.custom.js

5 个答案:

答案 0 :(得分:11)

最简单的方法:

<script>
   $(".DAY").click(
      function(event) {
         event.preventDefault();
         alert('Picked: '+ $(this).attr('id').slice(4));
      }
   );
</script>

答案 1 :(得分:7)

尝试将脚本放在DOM READY

<script type="text/javascript">
    $(document).ready(function(){
        $("a").on('click',function(event) {
            event.preventDefault();
            alert('Picked: '+ $(this).parent('td').parent('tr').id.slice(4) );
        });
     });
</script>

答案 2 :(得分:4)

试试这个:

$(document).ready(function(){

    $("a").click(
      function(event) {
        event.preventDefault();

          DATA = $(this).closest('tr').attr('id').slice(4);

        alert('Picked: ' + DATA);
      }
    );

});

这将选择您点击的ID的{​​{1}}。我还将其创建为jSFiddle:http://jsfiddle.net/pAZeb/

答案 3 :(得分:2)

您需要找到所点击的id

closest tr的{​​{1}}

尝试

a

答案 4 :(得分:1)

也许您需要修改为以下内容:

$("a").click(
function (event) {
    event.preventDefault();
    alert('Picked: ' + $(this).closest('tr').attr('id').slice(4));
});