入力に無効な属性を追加した後、クリック イベントをトリガーするにはどうすればよいですか?

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;
}

おすすめ

転載: blog.csdn.net/weixin_47020721/article/details/129375052