event.preventdefault()在mozilla中不起作用,但在chrome中工作正常

时间:2015-02-09 18:18:38

标签: javascript jquery html

我的Java脚本:

var l=1;
function AddDescription(e){
    alert(123);
    var id = e.id;
    var no = id.split("descript");
    var i=0;
    var max_description = 10;
    event.preventDefault();
    if(i <= max_description) {
          i++;
          $("#adddescription"+no[1]).append("<div id='close"+l+"'  class='form-group'><label for='icode' class='col-md-3 control-label'>Description</label><div class='col-md-5'><input id='description"+no[1]+i+"' class='form-control' name='description"+no[1]+"[]' maxlength='400'><p class='required de"+no[1]+i+"' id='required_description'>Field Required</p></div><a id='hide"+l+"' onclick=closediv(this)><img src='assets/img/close.png'></a></div>");     
          l++;  
    }
}

我正在调用此函数:

<a href="" id="descript0" class="add-description" onclick="AddDescription(this)" style="float: right;margin-right: 5%">+ Add Point</a> 

这在chrome中运行良好,但在mozilla中重新加载页面。它有与event.preventdefault相关的内容。请帮助我做错了什么?

1 个答案:

答案 0 :(得分:2)

因为event未定义且e是一个错误的变量名称,因为人们会认为它意味着事件,而不是元素。

onclick="AddDescription(event, this)" 

function AddDescription(event, elem){
     event.preventDefault();
     console.log(elem.id);
}