1

「onclick」イベントで実行したい次のメソッドがあります。

function dostuff(evt) {
       var currentTarget = evt.currentTarget;
       // do more stuff
    }

私のリンクでは、次の方法でonclickイベントを追加します。

 link.Attributes.Add("onclick", "dostuff()");

ただし、上記の例では、evtパラメーターはnullです。クリックイベントをJavaScript関数に解析して、currentTarget、srcElementなどを取得できるようにします。

onclickイベントに追加するにはどうすればよいですか?

4

3 に答える 3

2

onclick次のように属性を作成します。

link.Attributes.Add("onclick", "dostuff.call(this, event)");

  • this関数内のバインドされた要素になります、

  • eventオブジェクトが渡されます

  • 標準のブラウザとIE8以下(渡されるイベントオブジェクトを含む)の両方で機能します

于 2012-11-24T14:41:49.067 に答える
0

Paranthesesは余分です:

link.Attributes.Add("onclick", "dostuff");

関数へのポインタを割り当てる代わりに、の戻り値を"dostuff"`"onclick"イベントに割り当てています。

また、本来あるべきキーワードを"evt"使用する代わりに。プロパティを"event"使用して要素にアクセスします。"srcElement"

function dostuff() {

    var currentElement = event.srcElement;
}

それが役に立てば幸い。

于 2012-11-24T14:29:00.430 に答える
0

これを試して:

コードビハインド:

HyperLink1.Attributes.Add("onclick", "return handleHyperLinkClick(this);");

Aspx:

<script type="text/javascript" language="javascript">

        function handleHyperLinkClick(hyperlink) {

            return confirm("Do you want to navigate to " + hyperlink.href + " ?");
        }
</script>

お役に立てれば!

于 2012-11-24T14:41:24.233 に答える