我有一个按钮。
当您打开页面时,它会显示“ 比较”,并在单击时会并排比较两个产品。 单击比较后,该按钮将更改为“上一步”,然后单击该按钮刷新页面。 问题在于这仅适用于台式机。当我通过chrome devtools将其更改为iPhone或iPad时,即使单击它,它也保持比较,并且没有变化。
<button type="button" class='btn goCompare' id="goCompare" data-show="compareBack" style="width: 100%;">Compare</button>
</div>
可能的解决方案:
<div>
<button id="compare">Compare</button>
<button id="back" style="display: none;">Back</button>
</div>
<script type="text/javascript">
document.getElementById('compare').onclick=function(){
document.getElementById('compare').style.display = "none";
document.getElementById('back').style.display = "block";
}
document.getElementById('back').onclick=function(){
document.getElementById('compare').style.display = "none";
refreshPage();
}
function refreshPage() {
window.location.reload(true);
}
</script>
</body>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
看起来你正在尝试解决一个与网页响应式设计相关的问题,即在不同设备上按钮的功能状态不一致。这可能是由于CSS媒体查询或者JavaScript事件处理逻辑没有正确地针对移动设备进行适配。以下是一些建议来帮助你解决这个问题:
确保你的CSS样式中使用了适当的媒体查询来针对不同屏幕尺寸调整布局和显示。例如,如果你希望在移动设备上改变按钮的行为或外观,可以添加如下代码段:
@media (max-width: 768px) {
/* 在这里添加针对移动设备的样式 */
.compare-button {
/* 修改为适合移动设备的样式 */
}
}
确保你的JavaScript代码能够识别用户的设备类型,并据此调整按钮的功能。你可以通过检查window.innerWidth
来判断当前视口宽度,从而决定是否应用特定的逻辑。
假设你的按钮有一个初始类.compare
,点击后会切换到.back
,并且有相应的功能绑定。你需要确保在触屏设备上点击事件也能正常工作。
<button id="comparisonButton" class="compare">Compare</button>
document.getElementById('comparisonButton').addEventListener('click', function() {
this.classList.toggle('compare');
this.classList.toggle('back');
// 根据类名执行相应操作
if (this.classList.contains('compare')) {
// 比较逻辑
} else {
// 返回或刷新页面逻辑
location.reload();
}
});
// 可选:如果需要更精细的设备检测,可以使用类似下面的方式来判断是移动设备还是桌面设备
function isMobileDevice() {
return (typeof window.orientation !== "undefined") || (navigator.userAgent.indexOf('IEMobile') !== -1);
}
// 然后根据isMobileDevice的结果适当调整比较和返回逻辑
使用Chrome DevTools中的设备模拟器彻底测试修改后的代码,确保在各种设备和屏幕尺寸下都能正常工作。
考虑到不同的浏览器和设备可能对JavaScript和CSS的支持程度不同,确保你的实现兼容主流浏览器,特别是对于触摸事件的支持,可能需要额外注意。
通过上述步骤,你应该能解决按钮在移动设备上行为不一致的问题。如果问题依旧,请进一步检查是否有其他脚本或样式冲突,或者具体错误信息来定位问题所在。