输入可从图像叠加访问

时间:2013-07-22 20:06:29

标签: javascript jquery html css

我有一个input字段using JSColor, color picker 左侧的颜色区域(input文本字段)从作为按钮的库中填充 enter image description here

问题:是否可以让图片区域位于右侧(.arrowDiv),以便点击其下方的input文字字段?在意义z-index

之下

理由是因为我似乎无法改变库以检测来自input文本字段以外的任何内容的点击

由于网址问题,我无法成为小提琴

的CSS:

.input-container {
    position:relative; border:#999 1px solid; 
    height: 38px; width: 80px;
}
.arrowDiv{ 
    position:absolute; right:0; width:38px; height:38px; display:block; z-index:2;
    background: url("arrow.png") no-repeat scroll -335px 0 #F2F2F2;
}

.input-container input{
    float:left; margin:0; padding:0;
    width:75px; height:38px; 
    border:none;  background:transparent;   cursor:pointer;
}

HTML:

<div class="input-container">
    <input class="color">
    <div class="arrowDiv"></div>
</div>

2 个答案:

答案 0 :(得分:1)

  

是否可以将图像区域放在右侧(.arrowDiv)   我可以点击它下面的输入文字字段吗?

当然可以。

尝试设置顶部属性和left属性,而不是right

.arrowDiv{ 
    position:absolute;
    left:0;
    top:39px;
    width:80px;
    height:38px;
    display:block;
     z-index:2;
    background: url("arrow.png") no-repeat scroll -335px 0 #F2F2F2;
}

<强> Check Fiddle

CSS 将div大小设置为图标的大小

.input-container {
    position:relative;
    border:#999 1px solid; 
    height: 38px;
    width: 80px;
}
.arrowDiv{ 
    position:absolute;
    left:60px;
    top:10px;
    width:16px;
    height:16px;
    display:block;
    z-index:2;
    background: url(http://i577.photobucket.com/albums/ss218/charles2690/11.png) no-repeat scroll;
}

.input-container input{
    float:left;
    margin:0;
    padding:0;
    width:75px;
    height:38px; 
    border:none;
    background:transparent;
    cursor:pointer;
}

<强> JS

$('.arrowDiv').click(function() {
       // code to open the color picker
});

<强> Fiddle

答案 1 :(得分:1)

单击另一个元素后面的元素是不可能的,但是我将一个小脚本附加到div上,该脚本将触发demo page上解释的开放关闭事件。令人失望的是库没有isOpen()方法,所以我必须存储我自己的变量。我想我在这个玩具脚本中得到了你想要的东西。你需要调整一些代码,因为div隐藏了输入元素的值。

http://jsfiddle.net/jv6b7/