0

以下の単純化された HTML コードには、ネストされた 2 つのクリック イベント (href と入力) が含まれています。ユーザーが入力フィールドをクリックすると、href にリンクされた JavaScript 関数 SelectTable() もトリガーされますが、これは目的ではありません。これを回避する方法は?

よろしくお願いいたします。

コード:

<a href="javascript:SelectTable();">
<table  id="tableproduct1" class="notselectedElement">
     <tr> 
        <td> Number of elements: <input type="text" name="nrofelements"> </td> 
     </tr>
</table>
</a>
4

1 に答える 1

0

を使用してこれを実行してみてくださいeventListener

あなたが投稿したコードに基づいて、サンプルを提供できます。

var aTag = document.getElementsByTagName("a");
aTag .addEventListener("click", aTagFn, false);
var iTag = document.getElementsByTagName("input");
iTag.addEventListener("click", inputTagFn, false);

アップデート:

同様のjsfiddle1を作成しました、あなたが直面している問題、

単純な bool 変数を使用して、回避策を作成しました。

isclicked = true;

function a() {
    if (isclicked) {
        alert("a tag is clicked");
    }
    isclicked = true;
}

function b() {
    alert("input tag is clicked");
    isclicked = false;
}

このJSFiddle2を確認してください

于 2013-08-19T15:28:14.100 に答える