簡體   English   中英

OnClick =“ createComment();”不起作用

[英]OnClick=“createComment();” doesn't work

我是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?為什么?

似乎document.createComment作為document對象的特殊功能存在。 它可能是保留的,因此您將無法使用它作為函數名稱。

在此處查看更多信息: https : //developer.mozilla.org/zh-CN/docs/Web/API/document.createComment

最簡單的方法是重命名函數,但是如果要使用它,可以將其放在名稱空間中:

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();">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM