【问题标题】:Javascript listindex Event HandlingJavascript listindex 事件处理
【发布时间】:2017-05-20 08:01:44
【问题描述】:

我正在尝试根据 DOM 元素的 listindex 启动事件处理。我不太明白为什么代码在引导环境中运行时不起作用。

Javascript:

 window.onload = function(){
 function getEventTarget(e) {
 e = e || window.event;
 return e.target || e.srcElement; 
 }
 var ul = document.getElementById("aloga");
 ul.onclick = function(event) {
 var target = getEventTarget(event);
 var bman = getElementsByTagName("option")
 if (target.selectedIndex == "0") {
    window.alert("Hello Peter")
 } else if (target.selectedIndex == "1") {
    window.alert("Hello Paul")
 } else {
    window.alert("Hello Penn")
 }
 };
 }

那么下面是HTML代码:

 <select name="aloga" data-placeholder="Select your aloga" id="aloga"      class="form-control input-lg select2">
 <option value="1" data-code="A" selected > Peter </option>
 <option value="2" data-code="B"> Paul </option>
 <option value="3" data-code="C"> Penn </option>
 </select>

【问题讨论】:

    标签: javascript twitter-bootstrap dom event-handling dom-events


    【解决方案1】:

    用这个替换你的javascript代码。

    document.getElementById("aloga").onchange = function(){
      var index = this.selectedIndex;
      var name = this.options[index].text;
      window.alert("Hello "+name);
    }
    

    jsFiddle 链接https://jsfiddle.net/ueyorfej/

    【讨论】:

    • 感谢查看。
    【解决方案2】:

    getElementsByTagName("option") 更改为document.getElementsByTagName("option")

    【讨论】:

      【解决方案3】:

      我同意 brk 的评论,但如果这不起作用,那么我将粘贴我的工作代码以供参考

      注意:我已将您的代码嵌入到函数中 attachEvents() 也修改了

      var bman = getElementsByTagName("option") 到 var bman = document.getElementsByTagName("option") 如下

              <html>
              <script> 
               function attachEvents(){
               function getEventTarget(e) {
               e = e || window.event;
               return e.target || e.srcElement; 
               }
               var ul = document.getElementById("aloga");
               ul.onclick = function(event) {
               var target = getEventTarget(event);
               var bman = document.getElementsByTagName("option")
               if (target.selectedIndex == "0") {
                  window.alert("Hello Peter")
               } else if (target.selectedIndex == "1") {
                  window.alert("Hello Paul")
               } else {
                  window.alert("Hello Penn")
               }
               };
               }
               </script>
              Then here is the HTML code below:
              <body onload="attachEvents()">
               <select name="aloga" data-placeholder="Select your aloga" id="aloga"      class="form-control input-lg select2">
               <option value="1" data-code="A" selected > Peter </option>
               <option value="2" data-code="B"> Paul </option>
               <option value="3" data-code="C"> Penn </option>
               </select>
               </body>
               </html>
      

      【讨论】:

        猜你喜欢
        • 2012-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多