程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

onChange 未在 Safari 的下拉列表中触发,适用于 IE、FF、Chrome 和 Opera

发布于2022-06-15 00:21     阅读(1872)     评论(0)     点赞(21)     收藏(0)


我创建了一个下拉列表,在单击列表中的项目时使用 onChange 事件自动触发。这适用于 IE、FF、Chrome 和 Opera,但在 Safari 中不起作用。

我在同一页面上按年份列出了多个下拉列表,因此下面的代码是从一年开始的,因此是 2011 年在 id 的末尾。

下面的域是一个示例,而不是我的真实域。

JavaScript

    var issue;
       function selectMagazine2011(id){
          issue = document.getElementById(id).value;
             if (issue!=0){
                mywindow = window.open("http://www.domain.com.au/2011/magazine_"+issue+"/index.html","new","resizable=1,scrollbars=1");
                mywindow.focus();
             }
       }

HTML

    <div class="year">
      <label>2011:
        <select name="magazine2011" id="magazine2011" onchange="selectMagazine2011('magazine2011')">
          <option value="0" selected="selected">Select an Issue</option>
          <option value="Issue_4_2011">Issue 4 2011</option>
          <option value="Issue_3_2011">Issue 3 2011</option>
          <option value="Issue_2_2011">Issue 2 2011</option>
          <option value="Issue_1_2011">Issue 1 2011</option>
        </select>
      </label>
    </div>

解决方案


您的代码在我的 Safari 中运行良好。我怀疑你的脚本在一个DOMReadywindow.onload处理程序中?在这种情况下,您需要将函数定义为

...
window.selectMagazine2011 = function(id) {
    ...

使其在全球范围内可用。




所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.qianduanheidong.com/blog/article/370988/74b9bbb198d8cc95d7a6/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

21 0
收藏该文
已收藏

评论内容:(最多支持255个字符)