使用 JQuery 触发器传递参数不起作用

时间:2021-02-24 13:25:13

标签: javascript jquery

现在的问题是当我关注 addUrlFriendlyName 输入时,来自 _InfoModal.cshtml 的模态将触发。当我关闭模态时,我想聚焦 addUrlFriendlyName 输入(因为当我点击关闭按钮时它失去了焦点)。

然而,当我以编程方式聚焦输入字段时,我会陷入无限循环。

当我以编程方式聚焦输入时,我试图防止触发 onfocus 事件。我知道您可以从 JQuery 向 trigger() 函数添加参数,这就是我在这里尝试做的。 但在 Affiliates.cshtml 文件中,data 参数始终为空。

Affiliates.cshtml

<div class="form-group">
    <label for="addUrlFriendlyName">URL friendly name:</label>
    <input type="text" id="addUrlFriendlyName" class="form-control ufn" />
</div>

@(await Html.PartialAsync("Partials/_InfoModal"))

<script>
    $('.ufn').on('focus', function (a, data) { 
        // ----->  data is undefined <-----
        if (!data?.silence) {
            showModal();
        }
    });
</script>

_InfoModal.cshtml

<div id="modal"></div>

<script>
    function showModal(onCloseFocusElementId) {
        $('#modal').modal('show');
    }


    $('#modal').on('hidden.bs.modal', function () {
        $('#addUrlFriendlyName').trigger('focus', [{silence:true}]);
    });
</script>

0 个答案:

没有答案
相关问题