在函數clickCircle中,我想使用被點擊的li。所以我想收到它作爲參數。Javascript-在onClick函數中發送點擊的對象作爲參數
<li class="circle" onClick='clickCircle(this)'></li>
但是,我應該作爲一個實際的參數發送?即代替'this'。
在函數clickCircle中,我想使用被點擊的li。所以我想收到它作爲參數。Javascript-在onClick函數中發送點擊的對象作爲參數
<li class="circle" onClick='clickCircle(this)'></li>
但是,我應該作爲一個實際的參數發送?即代替'this'。
你應該只使用第一個參數作爲元素。
<li class="circle" onClick='clickCircle(this)'></li>
clickCircle=function(element)
{
console.log(element)
console.log(element.tagName) // This will show LI
}
的jsfiddle:http://jsfiddle.net/edi9999/WhVLm/
也許甚至? No.(this)將元素引用爲對象,(event)引用事件本身。 'this.value'或'this.indexOf()'會起作用。 – DevlshOne
您可以使用this
:
function clickCircle(obj) // the li element clicked in the current scope
{
var element = obj; // This is the DOM object being clicked
var $this = $(obj); // This is the jQuery object being clicked
// Use DOM object like
element.style.color="#ff0000";
// Use jQuery object like
$this.css('color', 'red');
}
我不得不這樣做,因爲我在函數聲明中犯了「this」的錯誤,所以出錯了,但這只是我的一個腦屁。 – Nelson
你可以做到這一點jquery的是這樣的:
$(function() {
$('li.circle').on('click', function() {
clickCircle($(this));
});
});
var clickCircle = function (param) {
// your code here
// param.css('color', 'red').html();
};
或者與原始的javascript:
HTML
<li id="circle" class="circle"></li>
JAVASCRIPT
var circle = document.getElementById('circle');
circle.addEventListener('click', function (e) {
clickCircle(e.target);
});
var clickCircle = function (param) {
// your code here
// alert(param.nodeName.toLowerCase());
}
'函數clickCircle(chooseSomeNameThatMakesYouHappy){...} ' –
你的代碼應該按照你的要求工作,什麼是不正確的工作? – Mangiucugna
不確定是否嚴重。 –