2016-08-03 43 views
0

我试图在由Jira创建的HTML标记中获取onclick/onfocus/onchange。该项目本身就是一个下拉列表,而我能得到的onfocus对其他ID的工作,我不能让它就降工作下拉列表通过Javascript将HTML注入到div中

我有什么:

<script type ="text/javascript" > 
console.log("Testing"); 
var colorDropDown = document.getElementById('someID'); 

function changeColor() 
{ 
    //if(value) 
    alert("Hello World"); 
} 

document.getElementById("someID").innerHTML ="<onfocus=\"changeColor()\"></select>" 
//document.getElementById("customfield_11901").innerHTML = "<select class=\"select cf-select\" name=\"customfield_11901\" id=\"customfield_11901\" onfocus=\"changeColor()\">" 

</script> 

使用的innerHTML后, onfocus不会出现在页面中。我也试过通过复制整个标签并通过HTML输入它。

我在getElementById后使用了.onchange函数,但这也不起作用。

+1

''是不是一个东西。 – Siguza

+1

''不是有效的HTML。你的意思是''? –

+1

你不需要注入html来添加一个事件监听器,有没有理由你在那条路上? – aw04

回答

3

我会使用jQuery下.attr()函数:

$('#select_id').attr('onfocus', 'changeColor();'); 

或者你也可以使用addEventListener与纯JS:

object = document.getElementById('#select_id'); 
object.addEventListener('focus', 'changeColor();'); 
+0

我给了这个尝试,我一开始没有工作,但我GOOGLE了addEventListener函数,并使我的字符串看起来像这样: testObject = addEventListener('change' ,function(){colorChange();},false) 这最终为我工作。非常感谢你! – BlueBaroo

相关问题