提前感谢您的帮助
在脚本中的函数内部,我试图在单击按钮时获取按钮的值。 在这种情况下,我无法弄清楚“this”的用法。 页面中有一定数量的按钮,并附加了几个功能,所以每次单击一个按钮时,我都不想在函数中执行jQuery('。A1')。val()。 我希望函数能够检测单击了哪个按钮及其值
<script>
jQuery(document).ready(function(){
$.fn.dosomething = function(){
var currentval = $(this).val();
console.log(currentval);
};
});
</script>
<INPUT type="button" class="A1" value="blabla" onclick="jQuery().dosomething()"/>
控制台返回'undefined'
感谢您的帮助 DOM
答案 0 :(得分:0)
尝试使用jquery点击功能而不是单击内联HTML调用。 http://api.jquery.com/click/
答案 1 :(得分:0)
您需要将当前对象this
传递给类似
<INPUT type="button"
class="A1" value="blabla"
onclick="jQuery(this).dosomething()"/>
修改强>
为什么使用内联onclick
?您可以将事件绑定到元素,如
$(".A1").on("click", function () {
jQuery(this).dosomething();
})
答案 2 :(得分:0)
使用$.fn.dosomething = function()
,您已经定义了一个可以在jquery对象上调用的插件,但是您没有将任何内容传递给jquery以用作this
。
尝试:
onclick="jQuery(this).dosomething()"
答案 3 :(得分:0)
试试这个,
我们可以在特定元素的特定事件上绑定该函数。
jQuery(document).ready(function(){
$.fn.dosomething = function(cthis){
var currentval = $(cthis).val();
alert(currentval);
console.log(currentval);
};
$( "#myId" ).bind( "click", function() {
jQuery().dosomething(this);
})
});
</script>
<INPUT id="myId" type="button" class="A1" value="blabla" />
我认为this
内的$.fn.dosomething
是指自己而不是点击按钮。