Javascript jQuery中的event.srcement.value等效项

Javascript jQuery中的event.srcement.value等效项,javascript,jquery,Javascript,Jquery,我有一个用javascript编写的函数,我想在jQuery中重写它,这是函数代码: function onclickRbtn(controlID , Message) { var s = document.getElementById(controlID); var sVal = event.srcElement.value; for (var i = 0; i < s.rows.length; i++)

我有一个用
javascript
编写的函数,我想在
jQuery
中重写它,这是函数代码:

function onclickRbtn(controlID , Message)
     {
         var s = document.getElementById(controlID);
         var sVal = event.srcElement.value;
         for (var i = 0; i < s.rows.length; i++)
          {
             if (s.getElementsByTagName("input")[i].value == sVal)
                 s.getElementsByTagName("label")[i].innerText = Message;
         }
         s.disabled = 'disabled';
    }
函数onclickRbtn(控制ID,消息)
{
var s=document.getElementById(controlID);
var sVal=event.srcement.value;
对于(var i=0;i
这段代码是什么:event.srcmelement.value`和jQuery中的等效代码是什么

谢谢

您可以使用

找出您可以使用的事件目标元素

你的意思是:

$("button").click(function(){
    var value = $(this).val();
});

如果您有可用的JavaScript代码,请不要在jQuery中重写它。这就像说“这把锤子可以把钉子钉进墙里,但我想用大锤代替。”

除此之外,您拥有的代码是IE8及以下版本独有的,它在IE9或其他浏览器中不起作用,因为它使用特定的术语(全局
event
object,
srcElement
…)

以下是您应该使用的代码:

function onclickRbtn(controlID,Message,evt) {
    evt = evt || window.event;
    var s = document.getElementById(controlID),
        sVal = (evt.srcElement || evt.target).value,
        inputs = s.getElementsByTagName('input'),
        labels = s.getElementsByTagName('label');

    for( var i=0; i<s.rows.length; i++) {
        if( inputs[i].value == sVal) labels[i].innerText = labels[i].textContent = Message;
    }
    s.disabled = true;
}
函数onclickRbtn(控制ID、消息、evt){ evt=evt | | window.event; var s=document.getElementById(controlID), sVal=(evt.srcmelement | | evt.target).value, inputs=s.getElementsByTagName('input'), labels=s.getElementsByTagName('label');
对于(var i=0;i这在IE9、IE 8、IE7、Chrome 22、Safari 5.7.1中有效。在FF 14中不起作用:

$(event.srcElement || event.target);

这是最直接的答案,不管函数的其余部分如何重写,这是有意义的,因为您专门询问了jQuery。这是以下概念中的逻辑重构:1)在jQuery 1.9中,已折旧(并已删除)的srcElement属性替换为“target”,因此“event.srcElement.value”转到“event.target.value”.2)在jQuery中,您可以在事件处理程序的上下文中使用“$(this.val()”,即单击函数声明,直接进入值。3)jQuery的主要好处之一是通过在选择器上使用委托函数,如“.on()”、“.click()”等,减少子例程的使用。。。
$(event.srcElement || event.target);