I’d already gone through the hoops of declaring jQuery.noConflict(), but it still appeared to be conflicting with the dnn:actions (solpartactions) control. I’d read somewhere else about Solpart code being incompatible with JQuery.
I tried one last thing, adding the noConflict() call in the JQuery library script file itself – rather than running as a fragment on page load. This fixed everything, as something else was obviously getting in and hijacking in the meantime. Apparently with V5 this will all be fixed as JQuery’s more integrated with the framework. Anyway, for those interested here’s what I had to do to get JQuery (and associated plugins) talking nicely whilst still allowing the actions menu to pop up on my containers…
- Amend the JQuery library (jquery.1.x.x.min.js) by adding the following line at the bottom…
- Amend the skin you want to load the jquery library (and plugins) in (we’ve got it only in specific skins to avoid the overhead where it’s not required). You could also do this in the module by checking ‘if loaded’, but here’s the code for a skin (in ascx file)…
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
Private Sub AddScript(ByVal fileName As String)
Dim oLink As New HtmlGenericControl(“script”)
oLink.Attributes(“src”) = fileName
Dim oCSS As Control = Me.Page.FindControl(“CSS”)
If Not oCSS Is Nothing Then
The order is important, as we’re adding the scripts to the ‘top’ of the scripts each time. JQuery needs to be the first referenced.
- Make sure that anywhere you use jQuery you use the jQuery(xx) syntax, and not $(xx).