input タグの無効な属性の説明
- 無効になった入力タグは使用できず、クリックもできません
解決
- readonly 属性を使用して、disabled 属性を置き換えます
- 親ラベルをコーティングし、親ラベルにクリック イベントを追加し、入力スタイルを「pointer-events:none」に設定してマウス イベントを削除し、バブリングを通じて親ラベルのクリック イベントをトリガーします。
バブルイベント
サブタグをクリックするとレイヤーごとにアップロードされ、親タグのバインディングイベントがトリガーされます
バブリングイベントをキャンセルする
e.stopPropagation();
var div2 = document.getElementById("div2");
var div1 = document.getElementById("div1");
div2.onclick = function(ev){ // 红色面板加事件
div1.style.display = "block"; stopBubble(ev);//这样就不会再冒泡给父级了 }; document.onclick = function(){ div1.style.display = "none"; }
function stopBubble(e) {
//如果提供了事件对象,则这是一个非IE浏览器
if ( e && e.stopPropagation )
//因此它支持W3C的stopPropagation()方法
e.stopPropagation();
else
//否则,我们需要使用IE的方式来取消事件冒泡
window.event.cancelBubble = true;
}