功能在分离的功能中不起作用

时间:2015-11-19 07:45:47

标签: javascript jquery

我有一些jquery的麻烦。 如果我在一个函数中提供我的Jquery它就不会激活..

function foo(){
        $(this).hide();
 }   
<input type='button' value='Button' onclick='foo()'>

我试图在onclick内部触发事件并且它有效。

<input type='button' value='Button' onclick='$(this).hide()'>

我认为问题是'这个'对象,但我不知道为什么。

4 个答案:

答案 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事件

  

注意:您可以在事件中使用多个按钮,也可以看到示例:

WHAT IS THIS

$('.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>