使用jquerybind http://api.jquery.com/bind/ method:
function myfunc(param) {
alert(param.data.key);
}
$(document).ready( function() {
$("#foo").bind('click', { key: 'value' }, myfunc);
});
另请参阅我的jsfiddle http://jsfiddle.net/7Bhpb/.
===更新===
从 jquery 1.4.3 开始你还可以使用:
function myfunc(param) {
alert(param.data.key);
}
$(document).ready( function() {
$("#foo").click({ key: 'value' }, myfunc);
});
另请参阅我的第二个jsfiddle http://jsfiddle.net/7Bhpb/1/.
===更新2===
每个函数都有自己的this
。打电话后clearFmt
在这个函数中this
不再是被点击的元素。我有两个类似的解决方案:
在您的函数中添加一个名为的参数,例如element
并替换$(this)
with element
.
function clearFmt(element, fmt_type) {
if (element.val() == fmt_type) {
element.val("");
}
}
调用函数必须添加参数$(this)
.
$(date_field).click(function() {
clearFmt($(this), date_fmt);
});
另请参阅我的第三个小提琴 http://jsfiddle.net/Qa7yP/.
-=-
替代:
function clearFmt(o) {
if ($(o.currentTarget).val() == o.data.fmt_type) {
$(o.currentTarget).val("");
}
}
$(date_field).click({fmt_type: date_fmt}, clearFmt);
另请参阅我的第四个小提琴 http://jsfiddle.net/Qa7yP/1/.