动态添加onclick事件到锚标签,不工作

时间:2012-11-26 20:37:55

标签: javascript jquery

我的jsp中有以下锚标记

<a href="javascript:submit(this)">save</a>
<a href="javascript:alert(this)">something</a>

我需要停止默认的href行为,然后在onclick上调用这些函数。为此,我写了这段代码:

$('a[href^=\'#\']').live("click", function (e) {
   alert("I am being called #");
   e.preventDefault();
   return false;
});

$(document).ready(function(){
      $("a[href^='javascript']").each(function(){
            alert("replacing");
            var w=$(this).attr('href');

            $(this).attr('href','#');

            $(this).attr("onclick",w);
   });
});

但是,单击链接时不会调用这些功能。你能告诉我哪里出错了。我正在使用IE 8。

2 个答案:

答案 0 :(得分:3)

试试这个:

$(document).on("click", "a[href^=\'#\']",function (e) {
   alert("I am being called #");
   e.preventDefault();
   return false;
});

$(document).ready(function(){    
      $("a[href^='javascript']").attr('href','#');    
});

答案 1 :(得分:-2)

&#13;
&#13;
$(document).ready(function() {
  var mydiv = document.getElementById("myDiv");
  var aTag = document.createElement('a');
  aTag.setAttribute('href', "#");
  aTag.setAttribute('id', "tagId");
  aTag.innerHTML = "link text";

  mydiv.appendChild(aTag);

  $("#tagId").on('click', function(e) {
    alert(1)

  });
});
&#13;
   
&#13;
&#13;
&#13;