为什么我必须在所选选项上单击两次?

莫妮卡

以下代码使我单击两次以导航至所需页面。但是问题在于,我只希望选择一次该选项,并且一旦我做出选择,我就想导航到所需的页面。我看到没有选择任何选项。我必须按Enter或再次单击该选项。

更改时没有给我键码,以后我需要使用,如果用户是盲人并且无法使用鼠标,则他/她只需使用Tab键即可导航。Onchange将触发即时事件,而不会让用户选择和选择。这就是为什么我不能使用OnChange的原因,因为它对IE11的视障用户而言并不一致

  $(document).on("click", '.js-jump-to-page', function(e) {
      var url = $(this).val();
      var target = '_blank';
      if (url) {
        alert(url);
        window.open(url, target);
      }
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="select-rates-jump-to-page-1" class="select js-jump-to-page">       
  <option tabindex="0" value="">Select a product</option>
  <option tabindex="0" value="www.google.com">Bla Bla 1</option>
  <option tabindex="0" value="www.yahoo.com">Bla Bla 2</option>
  <option tabindex="0" value="www.bing.com">Bla Bla 3</option>
</select>

模糊

我认为该keypress活动可能在这里起作用。

一旦用户选择了一个选项,用户就可以按该enter键,然后我们导航到所选页面/ URL

有点像

$(function() {
  $(document).on("keypress", '.js-jump-to-page', function(e) {
    // check if the keypress is 'Enter'
    if (e.which === 13) {
      // get value of selected
      var selectedUrl = $(".js-jump-to-page").val();

      if (selectedUrl) {
        // now go to that page
        var target = '_blank';

        //close dropdown (not sure this works like this)
        $(".js-jump-to-page").blur();

        console.log('Going to: ' + selectedUrl);
        window.open(selectedUrl, target);
      }
    }
  });

  $(document).on("click", '.js-jump-to-page', function(e) {
    var url = $(this).val();
    e.preventDefault();
    console.log('selected: ' + url);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="select-rates-jump-to-page-1" class="select js-jump-to-page">       
  <option tabindex="0" value="">Select a product</option>
  <option tabindex="0" value="www.google.com">google</option>
  <option tabindex="0" value="www.yahoo.com">yahoo</option>
  <option tabindex="0" value="www.bing.com">bing</option>
</select>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我必须在事件触发之前单击按钮两次?

JavaScript:为什么我必须在表中单击两次以执行colorActiveLine函数?

为什么我必须在 GTmetrix 上测试我的网站两次才能看到 cloudflare 的速度优势?

为什么我必须在Microsoft Excel上按两次Tab键才能Alt + Tab?

为什么我必须在表单中的“提交”按钮上按两次才能看到反应日志?

为什么我必须在后端登录两次才能登录?

在 Android Studio 中,为什么我必须在模拟器中单击“运行应用程序”两次才能启动应用程序?

为什么我必须单击两次才能运行我的功能?

为什么我必须单击 TextField 两次才能显示我的列表?

为什么我必须单击两次才能打开和关闭菜单

为什么我必须单击两次“ Tab”按钮才能响应?

HTML CANVAS-预加载问题或OnLoad问题-为什么我必须单击两次?

在这种情况下,为什么必须单击两次才能加载我的图像?

为什么我必须单击两次按钮才能打开URL?

Rails-jQuery为什么我必须单击两次才能显示jQuery效果?

为什么我必须打开我的csv两次?

我必须在gridview中单击两次编辑按钮

为什么我需要在按钮上单击两次以使事件发生?

为什么我必须单击两次才能获得搜索结果菜单中的链接以加载页面?

按钮出现故障,我必须单击两次才能显示信息,而且照片未正确对齐,这是为什么?

为什么必须单击两次才能使此JavaScript函数起作用?

为什么按钮必须单击两次才能起作用?

为什么我必须输入两次我的回复才能注册?

我必须单击两次按钮才能工作

我必须单击 Jquery 提交按钮两次

我必须单击两次以运行jQuery函数

我有一个表单验证器,我必须单击两次发送按钮才能将数据发送到ajax-为什么?

为什么我必须两次转义一个“点”?

为什么我必须传递两次-隔离范围的方法参数?