在外面点击时关闭选择框

时间:2016-07-05 15:20:37

标签: javascript jquery css

关闭选择框时出现问题。 在网站上有两个选择元素。

第一个工作:它打开,当在外面点击它关闭框。 现在我旁边有第二个方框。仅当您单击选择器或切换时,此选项才会关闭。我也希望在外面点击时关闭它。

这是已存在的代码:

    _closeSelectbox: function (target) {
        var inst = this._getInst(target);
        //if (!inst || !this._state[inst.uid]) {
        if (!inst || !inst.isOpen) {
            return;
        }
        var onClose = this._get(inst, 'onClose');
        inst.settings.effect === "fade" ? $("#catOptions_" + inst.uid).fadeOut(inst.settings.speed) : $("#catOptions_" + inst.uid).slideUp(inst.settings.speed);
        $("#catToggle_" + inst.uid).removeClass(inst.settings.classToggleOpen);
        this._state[inst.uid] = FALSE;
        inst.isOpen = FALSE;
        if (onClose) {
            onClose.apply((inst.input ? inst.input[0] : null), [inst]);
        }
        $.data(target, PROP_NAME, inst);
       },

这是否可以在不影响其他方框功能的情况下实现?

这是html:

     <div class="col-sm-8 col-xs-12">
        <form class="form-inline form-header" action="<?php echo $this-    >url(null, 'listings-search'); ?>"
              method="get">
            <div class="form-group hidden-xs hidden-sm">
                <select name="parent_id" id="category_id">
                    <option value="0"><?php echo $this->_('Choose Category'); ?></option>
                    <?php foreach ($categories as $category) { ?>
                        <option
                            value="<?php echo $category['id']; ?>" <?php echo ($category['id'] == $request->getParam('parent_id')) ? 'selected' : ''; ?>><?php echo $this->_($category['name']); ?></option>
                    <?php } ?>
                </select>
            </div>
            <div class="form-group">
                <input id="basic-search" type="text" name="keywords" class="form-control input-search"
                       value="<?php echo $this->request()->getRequest()->getParam('keywords'); ?>"
                       placeholder="<?php echo $this->_('Search ...'); ?>" required>
            </div>
            <button type="submit" class="btn btn-primary hidden-xs"><?php echo $this->_('Search'); ?></button>
        </form>
        </div>

1 个答案:

答案 0 :(得分:0)

我建议将模糊事件绑定到框中,我很确定它会完全满足您的需求! https://api.jquery.com/blur/