jquery怎么和纯js一样接收onclick带来的参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery怎么和纯js一样接收onclick带来的参数?相关的知识,希望对你有一定的参考价值。

如onclick="showMsg(xxx)" 纯js里可以直接用function(变量)获得onclick里面的参数xxx。jquery是用$应该怎么写?

1、纯javascript的写法:onclick的参数一般是从Dom元素中获取,比如获取input元素中的value值作为参数,在JavaScript中调用onclick的方法传参时都这么写:
<input type="text" id="input1" value="1111" onclick="getValue(this.vale)">  
然后我们定义一个getValue的方法即可:

function getValue(val)alert(val);

另外一种不传参数<input type="text" id="input1" value="1111">  (注意没有onclick事件了)

document.getElementById(input1).onclick = function() alert(this.value); 

第一种传参的方法是JavaScript函数,所以在Jquery本身就是JavaScript的函数类库,所以这种也是可以使用的,同时在该方法里面可以使用Jquery类库,比如:

function getValue(val)
    alert(val);
    $('#input1').css('background','red');//Jquery实现
    document.getElementById('input1').style.background= 'red';//纯JavaScript实现
    
 

第二种是给DOM元素添加点击事件,通过获取DOM元素的属性值达到第一种传参效果,Jquery一般都是使用这种方法。

2、Jquery的做法是不传参,而是给DOM元素添加点击事件,从而获取DOM的属性值,到达,纯JavaScript传参效果。所以Jquery的写法为<input type="text" id="input1" value="1111">:

$('#input1').click(function()
    alert($(this).val());  
);

参考技术A

在JQuery中这样的响应方法是一样的写法,如果是下面这种


<input type=\'button\' value=\'Banner\' id=\'bmw\'/>
<script>
var array1=[];
$("#bmw").click(function()

#你的代码,但是这个没参数的,参数可以写在一个变量里,用动态语言生成对应id上标的值
#方法不值一个,如果你能给个明确的要求,就能合理的写个js给你
);
</script>

参考技术B

data-*  是html5的属性,只要名字不重复可以写无数个,想取多少个值都可以

<div id="a" data-a=""></div>

$("#a").on("click",function()
    data = $(this).attr("data-a");
);

参考技术C

套用下楼上的这个例子:

<input type=\'button\' value=\'Banner\' id=\'bmw\'/>
<script>
var array1=[];
$("#bmw").click(function()

alert(this.id);
alert(this.value);
//所以,可以在DOM元素上边添加一个自定义属性,
//然后用this.XX来获得,或者用JQuery的$(this).attr(XX)
);
</script>

参考技术D yui3
Y.one("#id").click(function(e) //e是事件类,通过它可以得到点击的节点,不是到jq 是不是这样
showMsg(xxx);
);

用appendJsFile加载的js中怎么创建webview

onclick=\'javascript:add_line(\'"+name+"\',"+nextNum+"1);
改成

onclick=\'javascript:add_line(\\\'"+name+"\\\',"+nextNum+"1);
参考技术A html:
embed = plus.webview.create("http://www.baidu.com","sub-travel",top:subPageTop,bottom:'0px');
embed.appendJsFile("_www/js/mui.min.js");
embed.appendJsFile("_www/js/travel.js");
plus.webview.currentWebview().append( embed );
travel.js:
if(!plus.webview.getWebviewById("detail"))
detailPage = plus.webview.create("detail.html","detail",top: 0, bottom: 0);
else
detailPage = plus.webview.getWebviewById('detail');

以上是关于jquery怎么和纯js一样接收onclick带来的参数?的主要内容,如果未能解决你的问题,请参考以下文章

JS或者Jquery打开一个新页面,怎么打开??

jsp页面中onclick怎么传参到js中

怎样使js中的onclick事件只触发一次,就是我点击了一次,再次点击的时候不让其再触发

jquery怎么设置a标签不可点击

java onclick事件

js中onclick传值问题