Javascript-将点击的对象作为onClick函数中的参数发送

时间:2013-07-19 19:08:48

标签: javascript jquery html

在函数clickCircle中,我想使用被点击的li。所以我希望将其作为参数接收。

<li class="circle" onClick='clickCircle(this)'></li>

但是我应该发送什么作为一个实际的参数?即代替'this'。

4 个答案:

答案 0 :(得分:7)

您可以使用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');
}

答案 1 :(得分:0)

试试这个

<li class="circle"></li>

$('.circle').on('click', function(event) {
  event.target // your element
});

答案 2 :(得分:0)

您应该只使用第一个参数作为元素。

HTML

<li class="circle" onClick='clickCircle(this)'></li>

JS

clickCircle=function(element)
{
console.log(element)
console.log(element.tagName) // This will show LI
}

JSFiddle:http://jsfiddle.net/edi9999/WhVLm/

答案 3 :(得分:0)

你可以用这样的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());
}