使用 midori 选项卡的类似于向导的对话框在 Chrome 中不起作用

发布于 2024-12-02 08:49:05 字数 1691 浏览 1 评论 0原文

我正在尝试使用 midori javascript 框架构建一个类似于 Web 对话框的向导。

这是我所拥有的:

<div id="uploadTab">
    <div id="categories" class="tab-set">
       <ul>
          <li class="tab-selected"><a id="tabConfig" href="#config">Configuration</a></li>
          <li><a id="tabDescription" href="#description">Description</a></li>

       </ul>
    </div>
    <div class="tab-content">
       <div id="config">
               <p>Hit Continue to go to next tab</p>
               <div class="tabButton">
                       <input type="button" name="configNext" value="Continue" onclick="return selectTab('#tabDescription');" />
               </div>
       </div>
       <div id="description" style="display: none">
               Description
       </div>
    </div>
</div>
<script type="text/javascript">midori.addEventListener(window, 'ready', function (e) { midoriTab.init() } );</script>

以及在目标选项卡的链接上调用 click() 的 javascript 函数

function selectTab(tabID) {
    var t=midori.get(tabID);
    if (typeof t!='undefined') {
            t.click();
    }
    return false;
}

这可以在 Firefox 和 Opera 中找到,但在 chrome 中我得到:

Uncaught TypError: Object: http://mysite.com#description 没有方法“click”

我也尝试使用 onclick() 而不是 click(),这给了我:

Uncaught TypeError: Property对象 http://mysite.com#description 的“onclick”不是一个函数

我可以通过任何方式得到它在 Chrome 中工作?

i am trying to build a wizard like web dialog with the midori javascript framework.

Here is what i have:

<div id="uploadTab">
    <div id="categories" class="tab-set">
       <ul>
          <li class="tab-selected"><a id="tabConfig" href="#config">Configuration</a></li>
          <li><a id="tabDescription" href="#description">Description</a></li>

       </ul>
    </div>
    <div class="tab-content">
       <div id="config">
               <p>Hit Continue to go to next tab</p>
               <div class="tabButton">
                       <input type="button" name="configNext" value="Continue" onclick="return selectTab('#tabDescription');" />
               </div>
       </div>
       <div id="description" style="display: none">
               Description
       </div>
    </div>
</div>
<script type="text/javascript">midori.addEventListener(window, 'ready', function (e) { midoriTab.init() } );</script>

And the javascript function which calls click() on the target tab's link

function selectTab(tabID) {
    var t=midori.get(tabID);
    if (typeof t!='undefined') {
            t.click();
    }
    return false;
}

This works find in firefox and opera, but in chrome i get:

Uncaught TypError: Object: http://mysite.com#description has no method 'click'

I also tried using onclick() instead of click(), which gives me:

Uncaught TypeError: Property 'onclick' of object http://mysite.com#description is not a function

Any way i can get this to work in chrome?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

司马昭之心 2024-12-09 08:49:05

问题已解决:

发送 onclick 事件的更好方法,适用于 opera、firefox 和 chrome:

function selectTab(tabID) {
    var t=midori.get(tabID);
    if (typeof t!='undefined') {
            var e = document.createEvent('MouseEvents');
            e.initMouseEvent( 'click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null );
            t.dispatchEvent(e);
    }
    return false;
}

Problem solved:

A better way to send onclick event, that works on opera, firefox and chrome:

function selectTab(tabID) {
    var t=midori.get(tabID);
    if (typeof t!='undefined') {
            var e = document.createEvent('MouseEvents');
            e.initMouseEvent( 'click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null );
            t.dispatchEvent(e);
    }
    return false;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文