小编CFH*_*der的帖子

onClick 未在子 div 上调用

我有一个“最外层”或“父级”div,它有两个子 div:

1)第一个子 div 在页面加载时可见,位于父 div 内(我在这些 div 周围放置了边框以保持对它们的视觉跟踪),并且此第一个子 div 仅包含一个文本字符串。

2) 另一个 div 在页面加载时为“display:none”。我将在下面将此 div 称为“鼠标悬停 div”。

3)这个“鼠标悬停div”在鼠标悬停时显示,并且有一个“onclick”处理程序,可以在页面底部的div中显示一些文本。

父 div 处理的 onmouseover 事件隐藏第一个子 div(及其文本字符串),然后通过设置其“style: block”显示第二个先前隐藏的 div。

经测试,当鼠标移动发生在父 div 上时,父 div 的“onmousemove”会隐藏第一个 div 并显示另一个 div - 所有这些都工作正常。

问题是,当鼠标单击“鼠标悬停 div”时,永远不会调用其“onclick”处理程序。我可以这么说,因为“onclick”代码无法在页面底部的 div 中显示其文本字符串。

这是代码(注意:在这个项目中没有使用jquery):

 <div id="theParentDiv" class="popupMenuFrame" style="border: 2px solid red;"
      onmouseover="displayPopup()"  onmouseout="doMOut()">

       <div id="theLocale" style="border: 2px solid green; display: inline-block">
          Austin, TX
       </div>       

       <div class="hoverDivClass" id="theHoverDiv" style="border: 2px solid purple;"
            onclick="handleMenuClick()"
            onmousedown="handleMenuClick()">
        Austin
       </div>

 </div>


    // These are for debug output …
Run Code Online (Sandbox Code Playgroud)

html javascript

5
推荐指数
1
解决办法
1536
查看次数

document.body.style.backgroundColor未定义

我有一个javascript函数,当用户单击div以获取网页的当前背景颜色(我的笔记本电脑上为白色)时调用该函数:

<div id="div1" onclick="checkbkcolor(id, 1)">Just testing the web page bk color
</div>
Run Code Online (Sandbox Code Playgroud)

这是checkbkcolor()函数:

 <head>
 <script type="text/javascript">

 // DOES NOTHING SO I COMMENTED IT OUT: document.body.style.backgroundColor = "red";

 function checkbkcolor(id, val)
 {
     // THIS RETURNS NOTHING FOR THE COLOR -- the alert box
     // only says "the document.body.style.backgroundColor is:  "
     // and nothing else
   alert("the document.body.style.backgroundColor is:  " 
                + document.body.style.backgroundColor);

   document.body.style.backgroundColor = "red";

     // The alert box now shows 'red' for the color name, *AND* 
     // the web page's background has …
Run Code Online (Sandbox Code Playgroud)

html javascript css

2
推荐指数
1
解决办法
1万
查看次数

需要使用HTML选择'选项'的'value'作为数组名称

我有几个JavaScript数组:

 var someMotionToys = ["cars", "bikes", "surfboards", "skis"];
 var immobileToys = ["xbox", "guitar", "paintbrush", "laptop", "crossword puzzles"];
 var rareToys = ["ironmaiden", "pogostick", "lawndarts"];
Run Code Online (Sandbox Code Playgroud)

我有一个HTML'select'标签,如下所示:

     <select id="toys" onchange="handleToysChoice(this)">
          <option value="someMotionToys">toys in motion</option>    
          <option value="immobileToys">toys for inside</option>    
          <option value="rareToys">antique toys</option>    
     </select>
Run Code Online (Sandbox Code Playgroud)

我在这里处理onchange JavaScript函数:

     function handleToysChoice(theToysSelector)
     {
        var theToySelection = theToysSelector.value;

         // AT THIS POINT -- assume the user selected 'toys in motion' 
         // so 'theToySelection' here is "someMotionToys" -- that is *also*
         // the name of my array -- but the following …
Run Code Online (Sandbox Code Playgroud)

html javascript

1
推荐指数
1
解决办法
442
查看次数

需要设置内联样式="width:window.innerWidth"

我想达到以下效果:

<div id='leftSide' style="width: window.innerWidth"> AS WIDE AS CLIENT WINDOW </div>
Run Code Online (Sandbox Code Playgroud)

我认为不可能像上面那样编码.原因是,"window.innerWidth"是窗口对象的Javascript属性 - 我没有看到如何在我的内联CSS中使用该值.

另外,我避免使用'onLoad()'处理程序.我知道我可以添加一个onLoad()处理函数来处理页面的body标签中的页面加载,然后使用我想要设置宽度的所有javascript.但我不喜欢在我的页面中使用onload处理程序.

那么,有没有一些方法,我inline'd CSS访问"window.innerWidth的价值吗?

html javascript css

0
推荐指数
1
解决办法
2225
查看次数

标签 统计

html ×4

javascript ×4

css ×2