Qta*_*tax 60 html css internet-explorer-11
在IE11中,可以单击以下代码中的图像来激活/切换标签中的输入:
<label>
<input type="checkbox"> some text
<img src="http://placeimg.com/100/100/any" alt="some img">
</label>
Run Code Online (Sandbox Code Playgroud)
虽然这个完全相同的代码但在a内部的图像<form>无法点击以激活/切换输入:
<form>
<label>
<input type="checkbox"> some text
<img src="http://placeimg.com/100/100/any" alt="some img">
</label>
</form>
Run Code Online (Sandbox Code Playgroud)

请注意,在上面的示例动画中,我单击了第二个图像,但这不起作用,但点击文本可以正常工作(只是为了演示).
这已经过测试和转载:
在IE9,IE10,Microsoft Edge和其他浏览器中不会发生此问题.
Qta*_*tax 103
解决此问题的一种方法是pointer-events: none在图像上,并使用例如调整标签display: inline-block.(在IE11中pointer-events 受支持.)
label{
display: inline-block;
}
label img{
pointer-events: none;
}
Run Code Online (Sandbox Code Playgroud)
是一个有点老问题,但由于它在谷歌搜索中相当高,我将在这里发布一个答案,在所有IE版本中修复此问题.
.
复选框/收音机必须是外面的标签,它必须有自己独特的ID和标签必须有属性为其中包含复选框/收音机的ID及其相关:
<label for="my_lovely_checkbox">Hello good friend</label>
<input type="checkbox" value="Hello" id="my_lovely_checkbox">
Run Code Online (Sandbox Code Playgroud)
如果你这样做了,如果你使用PHP(你可能是),你可以使用这段代码:
if (preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident/7.0; rv:11.0') !== false)) {
?>
<script>
$(document).ready(function() {
$("label img").on("click", function() {
$("#" + $(this).parents("label").attr("for")).click();
});
});
</script>
<?
}
Run Code Online (Sandbox Code Playgroud)
我知道它的JS,但实际上没有其他修复,=< IE10没有JS使用.
它检测所有的IE,版本(包括IE10和11,不知道Spartan tho,我认为它没有检测到那个).
Ps.:上面的答案实际上并不适用于IE8,IE9和IE10.你知道吗
| 归档时间: |
|
| 查看次数: |
40206 次 |
| 最近记录: |