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