我被卡住了.搜索并尝试了几个小时.
编辑:
我仍然无法使它工作.好的,我只需要输入源代码就可以清楚地说明我想要完成的任务.
<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(""); } }
$(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.jb51.cc/jquery/177486.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。