有没有人知道使用javascript打开浏览器标准颜色选择器的方法,而不使用html字段?所以我想要一个javascript,点击html输入颜色字段完全相同。 巴特
答案 0 :(得分:4)
您将不得不使用输入字段,您可以将其隐藏在页面之外。这里的问题是,颜色对话框需要在浏览器中单击才能打开颜色对话框。如果你只是调用click()
,它将无法工作
document.getElementById("xxx").addEventListener("click", function() {
document.getElementById("c").focus();
document.getElementById("c").value = "#FFCC00";
document.getElementById("c").click();
});
.hidden {
position: absolute;
left: -10000px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}
<input type="color" id="c" tabindex=-1 class="hidden">
<input type="button" id="xxx" value="Click Me!">
答案 1 :(得分:0)
这是一个很好的老&#34; hover-hack&#34;即使在MS Edge中也能解决的解决方案:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
cout<<"Sentence: ";
string sentence;
getline(cin,sentence);
vector<string> my;
int start=0;
unsigned int end=sentence.size();
unsigned int temp=0;
while(temp<end){
int te=sentence.find(" ",start);
temp=te;
my.push_back(sentence.substr(start, temp-start));
start=temp+1;
}
unsigned int i;
for(i=0 ; i<my.size() ; i++){
cout<<my[i]<<endl;
}
return 0;
}
然后将<input type="color" style='opacity:0;width:100px;position:absolute;'/>
<button>clickme</button>
绑定到colro元素
答案 2 :(得分:-2)
适用于支持输入类型=颜色(firefox,chrome和opera)的浏览器
<input type="file" id="filepicker" style="display:none" />
<script>
function pickfile() {
var elem = document.getElementById('filepicker');
if(elem)
elem.click();
}
</script>
致电pickfile()