JQuery删除类与指针事件没有工作

时间:2017-09-20 07:15:10

标签: javascript jquery css

我有一个班级:

.disabled {
  pointer-events: none;
}

我使用jquery删除它:

$('#button').removeClass('disabled')

和类被禁用,但点击此链接仍然无效 - 单击它不会重定向到href链接(实际上,没有任何反应)。

另一方面,如果我在链接上禁用attr,然后使用

删除它
$('#button').prop('disabled', false)

它确实有用......

但是在我的项目中,开发人员正在使用“禁用”类禁用链接(不确定原因),所以我想坚持使用它,有什么建议吗?

PS。删除课程“已停用”后,检查$('#button').css('pointer-events')会返回auto,因此它应该有效,我迷路了。

我的例子:

<a id='my-button' href="www.google.com" class='disabled' style="display: block;"><i class="pti pt-trophy"></i><span>Click me</span></a>

的CSS:

a.disabled {
    pointer-events: none;
}

并点击其他div之后我更改此链接href并删除class:

$("#my-button").attr('href', result['success']['new_link']);
$("#my-button").removeClass('disabled');

(结果是一个对象包含ajax结果和新链接,多次检查,定义正确,控制台没有错误,服务器也是如此)

1 个答案:

答案 0 :(得分:0)

也许你在代码中遗漏了一些东西,我为你做了一个有用的例子:

&#13;
&#13;
.disabled {
  pointer-events: none;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button">Toggle Disable for bottom button</button><br><br>
<button type="button" class="disabled">Disabled</button>
&#13;
optionFn(id){
    let root = this.viewCtrl.instance.navCtrl._app._appRoot;
    // console.log(root);
let globalMessage='';
    document.addEventListener('click', function (event) {
        let btn = document.querySelector('.remove-ok .alert-button-default:nth-child(2)');
        let target = event.target;
        if (btn && target.className == 'alert-radio-label') {
            let view = root._overlayPortal._views[0];
            let inputs = view.instance.d.inputs;
            console.log("inputs" + JSON.stringify(inputs));
            for(let input of inputs) {
                let input = inputs_1[_i];
                if (input.checked) {
                    // this.optionEvent1 =input.value;
                    view.instance.d.buttons[1].handler([input.value]);
                    globalMessage = this.input.value;
                    view.dismiss();
                    break;
                }
            }
        }
    });

    let name= globalMessage.name;
}
&#13;
&#13;
&#13;