如何通过使用Javascript触发单击事件来激活元素?

时间:2016-09-18 21:44:28

标签: javascript html css

我有一个div元素并设置了默认颜色。当它处于活动状态时颜色会发生变化因此,使用鼠标单击时,颜色将变为红色。当DOM准备就绪时,我也会触发点击事件。但是,当我触发click事件时,行为就不一样了。元素不会改变颜色,它会消失。实现它的最佳方法是什么?

这是jsfiddle:https://jsfiddle.net/uvcwxLjr/

var ele = document.querySelector('.clickMe');
ele.addEventListener('click', function() {
  alert('You\'ve clicked me');
});
ele.click();

我知道可以通过创建另一个具有背景红色的类来完成,并在鼠标按下时添加,在鼠标按下时删除。还有更好的方法吗?

2 个答案:

答案 0 :(得分:0)



#!/usr/bin/env python
from contextlib import closing
from selenium.webdriver import Firefox
import time

# use firefox to get page with javascript generated content
with closing(Firefox()) as browser:
    # setting the url
    browser.get("http://bonusbagging.co.uk/oddsmatching.php#")
    # finding and clicking the button
    button = browser.find_element_by_id('select_button')
    button.click()
    page = browser.page_source
    time.sleep(5)
    print(page.encode("utf8"))

$(function () {
$(".clickMe").click(function () {
    $(this).css('background-color', 'green');
  alert('change green');
  });
 });
  

   .clickMe {
    width: 100px;
    height: 100px;
      background-color: red;
      }




答案 1 :(得分:0)

'警报'函数将阻止浏览器中的ui线程(more info),换句话说,alert阻止div以红色呈现。或者,您可以使用console.log,如下所示:

var ele = document.querySelector('.clickMe');
ele.addEventListener('click', function() {
 console.log('You\'ve clicked me');
});
ele.click();