gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 04:31:29 25 4
gpt4 key购买 nike

我卡住了。搜索并尝试了几个小时。

编辑:我仍然无法让它工作。好吧,我就把源码放上来,说清楚我要完成什么。

    <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 ===

每个函数都有自己的this。在此函数中调用clearFmt后,this不再是被点击的元素。我有两个类似的解决方案:

在你的函数中添加一个名为 e.g. 的参数。 element 并将 $(this) 替换为 element

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 .

关于javascript - 如何在 jquery 事件处理程序中调用带参数的 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7510654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com