如何结合本文档的按键和按钮点击事件

澳洲人

我可以找到很多组合按键和点击事件。虽然我找不到一种结合了文档上的按键和链接上的单击事件的方法。

如何缩短此代码?请记住,我不想在整个文档中添加单击事件,也不想像我一样重复代码。

我的代码是这样的,如果你按键盘上的“S”键全屏出现,或者你可以按搜索按钮。两者都将执行相同的功能。

$(document).ready(function() {
  $(document).keydown(function(searchstock) {
    if(searchstock.which == 83) {
      $('#header-bar').toggleClass('displaysearch');
      setTimeout(
        function()
        {
          $('#ccstocknum').select();
        }, 75);
    }
  });
  $("#searchbtn a").on("click", function(){
    $('#header-bar').toggleClass('displaysearch');
    setTimeout(
      function()
      {
        $('#ccstocknum').select();
      }, 75);
  });
});
#header-bar {
  display: none;
  float: left;
  position: absolute;
  top: 0px;
  width: 100%;
  height: 100%;
  background: black;
  color: #fff;
  text-align: center;
}
#header-bar.displaysearch { display: block; }
#header-bar h1 {
  width: 100%;
  text-align: center;
}
p.strong { font-weight: bold !important; }
#searchbtn { float: left; width: 100%; }
#searchbtn a { padding: 10px; background: grey; color: #fff; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="strong">Press S on the keyboard to get the fullscreen image</p>
<p>Alternatively you can press the following link</p>
<div id="searchbtn">
  <a href="#">Search</a>
</div>
<div id="header-bar">
  <h1>Full Screen</h1>
  <input type="number" id="ccstocknum" />
</div>

我的想法是如果我可以改变:

if(searchstock.which == 83) {

类似于:

if(searchstock.which == 83) or $('#searchbtn a').on("click", function() {

虽然显然这不起作用^_^

先感谢您 :-)

更新Keypress 在 Chrome 中遇到“S”或单键问题。所以我把它改成了keydown。很好用 :-)

拉姆·塞格夫

将代码放在一个函数中并调用它

$(document).ready(function() {
  $(document).keypress(function(searchstock) {
    if(searchstock.which == 83, 115) {
      searchstock();
    }
  });
  $("#searchbtn a").on("click", function(){
    searchstock();
  });
});
function searchstock(){
   $('#header-bar').toggleClass('displaysearch');
    setTimeout(
      function()
      {
        $('#ccstocknum').select();
      }, 75);
}
#header-bar {
  display: none;
  float: left;
  position: absolute;
  top: 0px;
  width: 100%;
  height: 100%;
  background: black;
  color: #fff;
  text-align: center;
}
#header-bar.displaysearch { display: block; }
#header-bar h1 {
  width: 100%;
  text-align: center;
}
p.strong { font-weight: bold !important; }
#searchbtn { float: left; width: 100%; }
#searchbtn a { padding: 10px; background: grey; color: #fff; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="strong">Press S on the keyboard to get the fullscreen image</p>
<p>Alternatively you can press the following link</p>
<div id="searchbtn">
  <a href="#">Search</a>
</div>
<div id="header-bar">
  <h1>Full Screen</h1>
  <input type="number" id="ccstocknum" />
</div>

你也可以用.on()这种方式

$(document).ready(function() {
  $( "body" ).on({
    click: function(e) {
    if((e.target.tagName === 'A') && (e.target.parentNode.id === 'searchbtn'))
      searchstock();
    },
    keypress: function(e) {
      if((e.which == 83) || (e.which ==115)) {
        searchstock();
      }
    }
  });
});
function searchstock(){
   $('#header-bar').toggleClass('displaysearch');
    setTimeout(
      function()
      {
        $('#ccstocknum').select();
      }, 75);
}
#header-bar {
  display: none;
  float: left;
  position: absolute;
  top: 0px;
  width: 100%;
  height: 100%;
  background: black;
  color: #fff;
  text-align: center;
}
#header-bar.displaysearch { display: block; }
#header-bar h1 {
  width: 100%;
  text-align: center;
}
p.strong { font-weight: bold !important; }
#searchbtn { float: left; width: 100%; }
#searchbtn a { padding: 10px; background: grey; color: #fff; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="strong">Press S on the keyboard to get the fullscreen image</p>
<p>Alternatively you can press the following link</p>
<div id="searchbtn">
  <a href="#">Search</a>
</div>
<div id="header-bar">
  <h1>Full Screen</h1>
  <input type="number" id="ccstocknum" />
</div>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery结合准备和点击事件

来自分类Dev

jQuery结合准备和点击事件

来自分类Dev

结合点击和双击离子事件

来自分类Dev

如何从按键事件中单击按钮

来自分类Dev

我们如何为Windows Phone 8中的自定义按钮点击事件提供默认的“后退”按键行为?

来自分类Dev

在Matplotlib上为不同事件使用点击和按键

来自分类Dev

如何使用点击事件禁用Dojo按钮

来自分类Dev

如何获得模型表单按钮的点击事件?

来自分类Dev

如何使用jQuery触发按钮点击事件

来自分类Dev

如何触发按键或按键事件

来自分类Dev

如何获取“输入”按钮按键事件监听器?

来自分类Dev

如何在 XMonad 中检测按键/按钮按下事件?

来自分类Dev

多按钮点击事件

来自分类Dev

Chrome 扩展 - 如何捕获文档 vanillaJS 上的点击事件

来自分类Dev

如何在AngularJS中广播和获取按键事件?

来自分类Dev

如何在AngularJS中广播和接收按键事件?

来自分类Dev

如何使浮动动作按钮消耗点击事件?

来自分类Dev

如何响应自定义视图中按钮的点击事件?

来自分类Dev

如何使浮动动作按钮消耗点击事件?

来自分类Dev

如何避免切换按钮中的点击事件

来自分类Dev

如何在模板化按钮中触发点击事件

来自分类Dev

你如何让按钮点击事件带来随机标签?

来自分类Dev

TemplateRef 和点击事件

来自分类Dev

事件在点击按钮之前运行

来自分类Dev

更新按键事件和可观察事件

来自分类Dev

如何结合“ onchange”和“ blur” HTML DOM事件

来自分类Dev

如何在点击事件上向按钮添加点击效果?

来自分类Dev

如何模拟按键事件加载

来自分类Dev

如何结合使用matplotlib按钮和动画功能?

Related 相关文章

热门标签

归档