如何在没有函数的情况下在jquery中绑定事件?

时间:2015-05-13 09:39:45

标签: javascript jquery html

我试图找到将事件绑定到元素的方法。 我们可以在不提及函数的情况下绑定JQuery吗?

Here is my fiddle

我需要在点击时启用贷款绑定启用,以便它可以调用相同的单选按钮。

它已成功取消绑定但无法重新绑定以调用定义它的相同单击方法。

我的代码:

$('input[type="radio"]').click(function(){
  var radioButId = $(this).attr('id');
  var value = $(this).val();
    alert(value + " is clicked");

    if(value === "home")
    {
        alert("Enable Loan Link")
        $( "#ba").bind( "click" );
    }
    if(value === "dog")
    {
        alert("Disable Loan Link");
        $( "#ba").unbind( "click" );
    }   
});

有人可以帮忙。

3 个答案:

答案 0 :(得分:3)

一种可能的方式

小提琴https://jsfiddle.net/uhxpmexe/7/

JS

function fHardCodedFunction(){
alert("bindee");
}

function myfunction () {
  var radioButId = $(this).attr('id');
  var value = $(this).val();
    alert(value + " is clicked");
    $( "#ba").unbind( "click" );
    if(value === "home")
    {
        alert("Enable Loan Link")
        $( "#ba").on( "click", myfunction );
    }
    if(value === "dog")
    {
        alert("Disable Loan Link");
    }  
} 

$('input[type="radio"]').click(myfunction);

答案 1 :(得分:1)

您可以使用disabled属性启用和停用“贷款”。

我已更新your fiddle

function fHardCodedFunction(){
alert("bindee");
}

$('input[type="radio"]').click(function(){
  var radioButId = $(this).attr('id');
  var value = $(this).val();
    console.log(value + " is clicked");
    
    if(value === "home")
    {
        console.log("Enable Loan Link")
        $("#ba").removeAttr("disabled");
    }
    if(value === "dog")
    {
        console.log("Disable Loan Link");
        $( "#ba").attr( "disabled","disabled" );
    }   
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
When Dog clicked, Load should disable and when home clicked, Load should be enable <br>
<input type="radio" class="p27" id ="ba" name="ins_type1" value="loan" checked="checked" /> Loan<br><br>

Click here:
<input type="radio" class="p27" id ="ba2" name="ins_type2" value="home" /> Home 
<input type="radio" class="p27" id ="ba3" name="ins_type2" value="dog" />
Dog

请注意,当存在disabled属性时,单击该按钮不会执行任何操作。此外,它会直观地显示按钮。

我还使用了console.log,因为使用alert进行调试很糟糕:)

答案 2 :(得分:0)

使用on和off代替bind和unbind

检查以下链接

https://api.jquery.com/off/