将 JQuery 函数移动到函数内部,然后从多个函数访问它

Move JQuery function to inside a function then access it from more than one function

本文关键字:函数 访问 然后 JQuery 移动 内部      更新时间:2023-09-26

嗨,我已经浏览了各种搜索引擎结果,但没有想出任何指向我正确方向的东西,所以希望这里有人可以帮助我。

我是一个菜鸟,涉及Javascript/JQuery,所以请放轻松。

问题:我目前正在通过单击文本框调用 JQuery 日期选择器函数,这很好用。你点击 文本框,选择一个日期 ,它会将其放入文本框中。大滴答。

但是我也需要通过单击图像来调用相同的函数。我想我会通过调用一个 .click 函数来做到这一点

$("endDateImage").click(datePickerFunc);

调用原始 JQuery

$("#endDatepicker").datepicker({ // options set here });

我试图将其重写为新函数

function datePickerFunc() {
        $().datepicker({
            // options set here
        })
    };

但这就是一切出错的地方,我似乎无法找出/弄清楚如何编写新函数,以便我可以从任意数量的 $("控件的 ID").click(datePickerFunc);

一些帮助将不胜感激。

-

-更新-- 回复以下答案:

以下作品:

<asp:TextBox ID="endDatepicker" runat="server" Text="10/10/2013" Width="65px"></asp:TextBox>

$("#endDatepicker").datepicker({
 dateFormat: 'dd/mm/yy',
 defaultDate: "+1w",
 changeMonth: true,
 numberOfMonths: 2,
 onClose: function (selectedDate) {
$("#startDatepicker").datepicker("option", "maxDate", selectedDate);} });

但相同的asp:文本框ID ....单击"不适用于以下内容:

$("#endDatePicker").click(datePickerFunc);
function datePickerFunc() {
        $(this).datepicker({
            dateFormat: 'dd/mm/yy',
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 2,
            onClose: function (selectedDate) {
                $("#startDatepicker").datepicker("option", "maxDate", selectedDate);
            }
        })
    };

(请注意,我已经回到我的工作文本框单击第一个,然后尝试使用图像)。

我的 Jquery 版本还行吗? 我是否缺少引用某些内容?谢谢

编码采用HTML 5/C#/css/JQuery版本1.9.1.js和UI版本1.10.3.

干杯

崔佛。

您可以简单地使用 this ,因为它将引用单击的元素:

$("#endDateImage").click(datePickerFunc);
$("#foo").click(datePickerFunc);
function datePickerFunc() {
    $(this).datepicker({
        // options set here
    })
};

这将导致#endDateImage#foo元素都有自己的datepicker实例。