当我点击页面上的任何地方(除了一个div(id=menu_content
))之外,如何触发功能?
非常感谢你
我试图用jquery触发超链接上的click事件,如下所示.超链接没有任何ID但它确实有cssclass
$(document).ready(function () { $('.cssbuttongo').trigger('click'); });
Run Code Online (Sandbox Code Playgroud)
上述功能无效.这是超链接
<a href="hyperlinkurl" class="cssbuttongo">hyperlink anchor</a>
Run Code Online (Sandbox Code Playgroud)
谢谢你的回答.
如何在XAML中为边框设置MouseOver事件/触发器?我希望当鼠标悬停在边框上时边框变为绿色,然后当鼠标不再在边框上时返回蓝色.为什么我不能只使用以下代码:
<Border
Name="ClearButtonBorder"
Grid.Column="1"
CornerRadius="0,3,3,0"
Background="Blue">
<Border.Triggers>
<Trigger Property="Border.IsMouseOver" Value="True">
<Setter Property="Border.Background" Value="Green" />
</Trigger>
<Trigger Property="Border.IsMouseOver" Value="False">
<Setter Property="Border.Background" Value="Blue" />
</Trigger>
</Border.Triggers>
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="X" />
</Border>
Run Code Online (Sandbox Code Playgroud)
我真的没有在WPF中获得这些触发器和样式.这样的拖累是不能实现这样简单的事情..请为我提供解决方案并帮助我理解我的代码到底有什么问题?谢谢一堆.
我希望能够使用EventTrigger设置属性,这有很多问题.
1)EventTriggers仅支持Actions,因此我必须使用storyBoard来设置我的属性.
2)一旦我使用故事板,我有两个选择:
在下面的示例中,我想在单击按钮时将IsChecked属性设置为False,并且我希望用户能够更改IsChecked和/或我希望能够更改代码中的属性.
例:
<EventTrigger
SourceName="myButton"
RoutedEvent="Button.Click">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<BooleanAnimationUsingKeyFrames
Storyboard.TargetName="myCheckBox"
Storyboard.TargetProperty="IsChecked"
FillBehavior="Stop">
<DiscreteBooleanKeyFrame
KeyTime="00:00:00"
Value="False" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
Run Code Online (Sandbox Code Playgroud)
我意识到在故事板完成后我可以使用"已完成"事件将值设置为False.但是,在这种情况下,我想在XAML中包含逻辑,因为此逻辑将用于自定义控件,并且仅特定于UI.
是否有可能仅在数据被真正改变的情况下使用"更新后"触发器.我知道"新旧".但是在使用它们时我只能比较列.例如"NEW.count <> OLD.count".
但我想要的是:如果"NEW <> OLD"则运行触发器
一个例子:
create table foo (a INT, b INT);
create table bar (a INT, b INT);
INSERT INTO foo VALUES(1,1);
INSERT INTO foo VALUES(2,2);
INSERT INTO foo VALUES(3,3);
CREATE TRIGGER ins_sum
AFTER UPDATE ON foo
FOR EACH ROW
INSERT INTO bar VALUES(NEW.a, NEW.b);
UPDATE foo SET b = 3 WHERE a=3;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
select * from bar;
+------+------+
| a | b | …
Run Code Online (Sandbox Code Playgroud) 将记录插入MySQL数据库表时,有没有办法调用PHP页面/函数?我们无法控制记录插入过程.是否有可以调用PHP脚本的触发器机制?
我在PostgreSQL 9.3数据库上有一个物化视图,该数据库很少发生变化(大约每天两次).但是当它发生时,我想及时更新其数据.
以下是我到目前为止的想法:
有一个物化视图mat_view
,它从表中获取数据table1
并table2
使用一些连接语句.
无论何时进入table1
或table2
更改,我已经有一个触发器更新一个config
由...组成的配置表
table_name | mat_view_name | need_update
-----------+---------------+------------
table1 | mat_view | TRUE/FALSE
table2 | mat_view | TRUE/FALSE
Run Code Online (Sandbox Code Playgroud)
因此,如果有任何table1
更改(每个语句的UPDATE和DELETE都有触发器),need_update
则第一行中的字段设置为TRUE
.同样适用table2
于第二行.
显然,如果need_update
为TRUE,则必须刷新实体化视图.
更新:由于物化视图不支持规则(如下面评论中提到的@pozs),我会更进一步.我创建了一个v_mat_view
带有定义" SELECT * FROM mat_view
" 的虚拟视图.当用户在此视图上执行SELECT时,我需要创建一个ON SELECT规则,它执行以下操作:
mat_view
应该更新(SELECT 1 FROM config WHERE mat_view_name='mat_view' AND need_update=TRUE
)need_update
标志UPDATE config SET need_update=FALSE where mat_view_name='mat_view'
REFRESH MATERIALIZED VIEW …
我有一个列表框,我有以下ItemTemplate:
<DataTemplate x:Key="ScenarioItemTemplate">
<Border Margin="5,0,5,0"
Background="#FF3C3B3B"
BorderBrush="#FF797878"
BorderThickness="2"
CornerRadius="5">
<DockPanel>
<DockPanel DockPanel.Dock="Top"
Margin="0,2,0,0">
<Button HorizontalAlignment="Left"
DockPanel.Dock="Left"
FontWeight="Heavy"
Foreground="White" />
<Label Content="{Binding Path=Name}"
DockPanel.Dock="Left"
FontWeight="Heavy"
Foreground="white" />
<Label HorizontalAlignment="Right"
Background="#FF3C3B3B"
Content="X"
DockPanel.Dock="Left"
FontWeight="Heavy"
Foreground="White" />
</DockPanel>
<ContentControl Name="designerContent"
Visibility="Collapsed"
MinHeight="100"
Margin="2,0,2,2"
Content="{Binding Path=DesignerInstance}"
Background="#FF999898">
</ContentControl>
</DockPanel>
</Border>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
如您所见,ContentControl的Visibility设置为折叠.
我需要定义一个触发器,使Visibility设置为"Visible"
当ListItem被选中时,我无法弄明白.
有任何想法吗?
更新:当然我可以简单地复制DataTemplate并向有问题的ListBox添加触发器以使用其中一个或另一个,但我想防止重复此代码.
我想生成一个包含SQL的SQL脚本来创建我们数据库中存在的所有触发器.触发器是通过SSMS查询窗格直接添加的,因此,除了数据库本身的触发器之外,当前没有其他源.
我已经尝试过右键单击数据库的方法,选择Tasks->Generate Scripts
并使用"脚本整个数据库和所有对象"选项.虽然这确实为表和约束创建了一个SQL脚本,但它不会为触发器生成SQL.
我也明白我可以右键单击数据库中的每个触发器并选择Generate SQL Script选项,但是当前有46个表在审计中(For Insert,Update和Delete).
而是为46个表中的每个表手动生成插入,更新和删除触发器脚本,是否有更简单的方法来执行此操作?或者,我应该开始点击,复制和粘贴?
我有以下xaml:
<DockPanel>
<DockPanel.Resources>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="Yellow"></Setter>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Foreground" Value="Green"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</DockPanel.Resources>
<Button Content="Cut" Height="30" Width="75"/>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)
当我将鼠标悬停在按钮上时,前景变为黄色,然后当我按下按钮时,前景变为绿色.
现在,如果我在XAML中反转触发器的顺序,当我将鼠标悬停在它上面时,前景会变为黄色,但是当我按下按钮时,前景不会变为绿色.
对此有何解释?一个触发器是否会覆盖另一个触发器?
triggers ×10
wpf ×4
click ×2
jquery ×2
mysql ×2
sql ×2
xaml ×2
database ×1
events ×1
eventtrigger ×1
html ×1
hyperlink ×1
itemtemplate ×1
javascript ×1
listbox ×1
php ×1
postgresql ×1