我有一些jquery的麻烦。 如果我在一个函数中提供我的Jquery它就不会激活..
function foo(){
$(this).hide();
}
<input type='button' value='Button' onclick='foo()'>
我试图在onclick内部触发事件并且它有效。
<input type='button' value='Button' onclick='$(this).hide()'>
我认为问题是'这个'对象,但我不知道为什么。
答案 0 :(得分:4)
试试这个:
function foo(obj){
$(obj).hide();
}
<input type='button' value='Button' onclick='foo(this)'>
答案 1 :(得分:1)
我会假设该函数位于正文末尾的脚本标记(好假设?),然后尝试使用此function foo(e){$(e.target).hide()}
或使用vanilla JS,因为即使没有jQuery它也很简单(Optimize) ):D
答案 2 :(得分:1)
hide()
是一个jquery函数,你必须在jquery对象上运行它。
为什么不为按钮设置jquery事件处理程序?
function foo(){
$(this).hide();
}
$("input[type=button]").click(foo); //set event handler
...并删除onclick属性:
<input type='button' value='Button'>
或选择具有班级名称的按钮:
function foo(){
$(this).hide();
}
$(".button").click(foo);
...并在按钮中添加一个类。
<input type='button' class='button' value='Button'>
jquery点击的API:https://api.jquery.com/click/
答案 3 :(得分:0)
如果您使用的是jquery,则可以使用class或id直接绑定click事件
注意:您可以在事件中使用多个按钮,也可以看到示例:
$('.click').click(function(){
$('h1').html($(this).attr('name'));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="click" name="one">one</button>
<button class="click" name="two">two</button>
<button class="click" name="three">three</button>
<button class="click" name="four">four</button>
<h1></h1>