之后使用css伪元素添加onclick

Oli*_*Oli 33 html javascript css pseudo-element

在我的css文件中可以做这样的事情吗?:

.myclass:after{
   content:"click me";
   onclick:"my_function()";
 }
Run Code Online (Sandbox Code Playgroud)

我想myclass在css样式表中添加可点击文本的所有实例之后添加.

zzz*_*Bov 49

在我的css文件中是否可以执行类似[参见上面的代码]的操作?

没有

要问的重要问题是为什么.

HTML可以控制网页中的数据.任何CSS或JS都是通过HTML指定的.这是模特.

CSS控制了样式,CSS和HTML或JavaScript之间没有链接.这是视图.

JavaScript可以控制网页中的交互,并且可以挂钩任何和所有DOM节点.这是控制器.

由于这种MVC结构:HTML属于.html文件,CSS属于.css文件,JS属于.js文件.

CSS伪元素不会创建DOM节点.JavaScript没有直接的方法来访问CSS中定义的伪元素,并且无法将事件附加到所述伪元素.

如果你有一个集合结构,并且无法添加在HTML中生成新链接所需的其他内容,JavaScript可以动态添加必要的新元素,然后可以通过CSS设置样式.

jQuery使这很简单:

$('<span class="click-me">click me</span>').appendTo('.myclass').click(my_function);
Run Code Online (Sandbox Code Playgroud)

  • 你,我的朋友,真是个艺术家 (2认同)
  • 如果伪元素上的单击事件是可能的,那么当您需要一个仅在最后一个元素中显示的按钮时,它会很方便。在具有可克隆的字段/字段集行的表单中,绝对定位的伪 [+] 按钮,右对齐并与行的高度匹配,可以出现在最后一行中,而不是在其之后/下方:`div.field- row:last-of-type:after {}` ...那么您就不必担心 jQuery 需要跟踪元素并在添加新行时不断将其移动到最后一行,特别是如果按钮必须与其包含行的高度相匹配,无需使用 JS。 (2认同)