如何在jquery事件处理程序中使用参数调用javascript函数?

前端之家收集整理的这篇文章主要介绍了如何在jquery事件处理程序中使用参数调用javascript函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我被卡住了.搜索并尝试了几个小时.

编辑:
我仍然无法使它工作.好的,我只需要输入源代码就可以清楚地说明我想要完成的任务.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
    <script type="text/javascript">
    var date_fmt="yyyy-mm-dd";
    var time_fmt="HH:MM";
    var date_field="#id_start_0,#id_end_0"; //id refering to html input type='text'
    var time_field="#id_start_1,#id_end_1"; //id refereing to html input type='text'


    function clearFmt(fmt_type)
    { 
        if($(this).val() == fmt_type) {
            $(this).val("");

        }
    }

    function putFmt(fmt_type)
    {
        if($(this).val() == "") {
            $(this).val(fmt_type);
        }
    }


$(document).ready(function() {

    $(date_field).attr("title",date_fmt);
    $(time_field).attr("title",time_fmt);

    $(date_field).click(function() {
        clearFmt(date_fmt);
    });   

    $(date_field).blur(function(){
        putFmt(date_fmt);
    });

    $(time_field).click(function(){
        clearFmt(time_fmt);
    });   

    $(time_field).blur(function(){
        putFmt(time_fmt);
    });

});
</script>

救命 ?

解决方法

使用jquery bind方法
function myfunc(param) {
    alert(param.data.key);
}

$(document).ready( function() {
    $("#foo").bind('click',{ key: 'value' },myfunc);
});

另见我的jsfiddle.

===更新===

从jquery 1.4.3开始你也可以使用:

function myfunc(param) {
    alert(param.data.key);
}

$(document).ready( function() {
    $("#foo").click({ key: 'value' },myfunc);
});

另见我的第二个jsfiddle.

===更新2 ===

每个功能都有自己的功能.在此函数调用clearFmt后,这不再是单击的元素.我有两个类似的解决方案:

在你的函数添加一个名为eg的参数元素并用元素替换$(this).

function clearFmt(element,fmt_type) {
    if (element.val() == fmt_type) {
        element.val("");
    }
}

调用函数你必须添加参数$(this).

$(date_field).click(function() {
    clearFmt($(this),date_fmt);
});

另见我的third jsfiddle.

– = –

替代:

function clearFmt(o) {
    if ($(o.currentTarget).val() == o.data.fmt_type) {
        $(o.currentTarget).val("");
    }
}
$(date_field).click({fmt_type: date_fmt},clearFmt);

另见我的fourth jsfiddle.

原文链接:https://www.f2er.com/jquery/177486.html

猜你在找的jQuery相关文章