的OnClick =" createComment();"不起作用

时间:2015-01-30 21:23:31

标签: javascript jquery html

我是JS的新手。我按下定义为

的按钮
<input type="button" value="Create a Comment" OnClick="createComment();">

我的脚本功能是

function createComment() {
    alert("1")
}

按下按钮时,以下代码无法正常工作,但当我将名称更改为某些名称时,它可以正常工作

<input type="button" value="Create a Comment" OnClick="somethingelse();">

function somethingelse() {
    alert("1")
}

我多次检查过,文档中没有使用任何createComment名称。我还注意到在jquery库中使用了createComment,但它看起来不像是一个函数,但我不确定它是做什么的。

<head>
  <meta charset="utf-8">
  <title>Parse Testing On Desktop</title>
  <meta name="description" content="My Parse App">
  <meta name="viewport" content="width=device-width">
  <link rel="stylesheet" href="css/reset.css">
  <link rel="stylesheet" href="css/styles.css">
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  <script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.3.2.min.js"></script>
  <script src="//code.jquery.com/jquery-1.10.2.js"></script> 
</head>

JQuery的

// Check if getElementsByTagName("*") returns only elements
support.getElementsByTagName = assert(function( div ) {
    div.appendChild( doc.createComment("") );
    return !div.getElementsByTagName("*").length;
});

createComment名称有什么特别之处,还是jquery,为什么?

2 个答案:

答案 0 :(得分:2)

似乎document.createComment作为document对象的特殊函数存在。它可能是保留的,因此您将无法将其用作函数名称。

在此处查看更多内容:https://developer.mozilla.org/en-US/docs/Web/API/document.createComment

答案 1 :(得分:1)

最简单的方法是重命名您的功能,但如果您想使用它,可以将其放在名称空间中:

var myNameSpace = 
{
   createComment:function()
   {
       alert('1');
   }
};

您基本上将JavaScript函数包装在名称空间对象中。

然后调用它,你通过html中的命名空间引用你的函数。改变这个:

<input type="button" value="Create a Comment" OnClick="createComment();">

到此:

<input type="button" value="Create a Comment" OnClick="JavaScript:myNameSpace.createComment();">