gpt4 book ai didi

javascript - JQuery Mobile 防止 radio 被检查

转载 作者:行者123 更新时间:2023-11-30 17:08:25 24 4
gpt4 key购买 nike

我以这种方式使用 JQuery Mobile 创建了一个简单的广播组:

        <fieldset id="current_status" data-role="controlgroup" data-type="horizontal">
{% for state in states %}
<input type="radio" name="state-choice" id="state-{{ state.id }}" value="{{ state.id }}" data-code="{{ state.code }}"
{% if state == currentState %}checked="checked"{% endif %}
/>
<label for="state-{{ state.id }}">{{ state.description }}</label>
{% endfor %}
</fieldset>

我需要验证更改,所以我尝试使用以下所有内容:

    $(document).ready(function() {
$('#current_status label').click(function(event) {
event.stopPropagation();
event.preventDefault();
changeStatus($(this));
return false;
});

$('#current_status input').click(function(event){
event.stopPropagation();
event.preventDefault();
changeStatus($(this));
return false;
});
. . . . . . . . . . . . . . . . . . .
});

在我的电脑浏览器中它可以工作。但在移动浏览器中,更改并没有被阻止。这里可能有什么问题?

最佳答案

我认为问题是您的移动浏览器不会触发点击事件,而是触发触摸/点击事件等。

jQuery Mobile 中有一个名为“vclick”的事件来解决这个问题。

但在您的情况下,聆听输入字段的值变化可能是一个更聪明的主意。

$('#current_status input').on('change',function(event){
event.stopPropagation();
event.preventDefault();
changeStatus($(this));
return false;
});

关于javascript - JQuery Mobile 防止 radio 被检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27507597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com