2

DisplayMode="LinkBut​​ton" に設定されている asp.net に BulletedList があります。JavaScript から最初の「弾丸」をトリガーしたいのですが、これは可能ですか? もしそうなら、どのように?

4

3 に答える 3

3

jQueryを使用してイベントを発生させ、独自に維持するのではなく、クロスブラウザーのサポートに依存できることを除いて、アレクサンダーが示したことと同様です。

$('#<%= MyLovelyBulletedList.ClientID %>')
    .contents()
    .find('a:first')
    .trigger('click');
于 2008-10-09T02:46:27.660 に答える
3

BulletedList があるとします。

<asp:BulletedList runat="server" ID="MyLovelyBulletedList" DisplayMode="LinkButton">
    <asp:ListItem Text="My Lovely Text 1" />
    <asp:ListItem Text="My Lovely Text 2" />
</asp:BulletedList>

...次に、次のように「onclick」イベントを発生させることができます(クロスブラウザ):

var links = document.getElementById('<%= MyLovelyBulletedList.ClientID %>').getElementsByTagName('a');

var targetLink = links[0];

if (targetLink.fireEvent)
{
    // IE
    targetLink.fireEvent("onclick");
}
else if (targetLink.dispatchEvent)
{
    // W3C
    var evt = document.createEvent("MouseEvents");

    evt.initMouseEvent("click", true, true, window,
        0, 0, 0, 0, 0, false, false, false, false, 0, null);

    targetLink.dispatchEvent(evt);
}
于 2008-10-08T15:25:50.390 に答える
1

多くのテストの後、これを行う唯一の依存する方法は、次のように __doPostBack-script を手動で起動することです。

__doPostBack('MyLovelyBulletedList', '0');

アレクサンダー・ギョシェフの提案

于 2009-02-05T13:12:20.150 に答える