簡體   English   中英

是否可以使用 html 標記內聯事件屬性調用對象方法?

[英]Is it possible to Call object methods using html tag inline event attributes?

我試圖理解核心 javascript 的概念。 眾所周知,我們可以為這樣的事件調用全局上下文中的函數。

html

<span class="name" onclick="clicked()">Name</span>

JavaScript

function clicked(){
   alert("span clicked");
}

但是為什么我們不能像下面這樣調用函數即對象方法:

html

<span class="name" onclick="nameobject.clicked()">Name</span>

腳本

var nameobject = {
   clicked: function(){
     alert("Clicked");
   }
}

有什么我想念的嗎? 有人可以幫我嗎?

你可以調用它,但你的js代碼應該在html code之前綁定你可以檢查小提琴

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script> var nameobject = { clicked: function(){ alert("Clicked"); } } </script> <span class="name" onclick="nameobject.clicked()">Name</span>

據我所知,不存在這樣的條件。 無論哪種方式都可以。

 <span class="name" onclick="nameobject.click()">Name</span> <span onclick="clicked()">Name2</span> <script> var nameobject = { click: function(){ alert("span 1 Clicked"); } } var clicked = function(){ alert("span 2 clicked"); } </script>

如果您不在 $(document).ready() 或 window.onload 函數中包含您的對象聲明,它會起作用。

沒有window.onload 的示例:

 var nameObject = { clicked: function(){ alert("Clicked"); } }
 <button onClick="nameObject.clicked()"> Click Me </button>

實施例的window.onload(拋出錯誤)

 window.onload = function(){ var nameObject = { clicked: function(){ alert("Clicked"); } } };
 <button onClick="nameObject.clicked()"> Click Me </button>

暫無
暫無

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

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